CentOS 7はNTP、SSHサービスをセットアップします

   著作権表示:この記事はShaonPuppetによるオリジナル記事です。転載の元のアドレスを教えてください。ありがとうございます。 https://blog.csdn.net/wh211212/article/details/52932776

[1] NTPサービスを構成します

1、 ntpdをインストールし、ntpサービスを構成します

[ root@vdevops ~]# yum -y install ntp 
 # 18 行:同期を可能にするネットワークセグメントを追加する
restrict 10.1.1.0 mask 255.255.255.0 nomodify notrap<pre name="code"class="html">[root@vdevops ~]# <a target=_blank href="https://www.server-world.info/en/command/html/systemctl.html" style="color: #ffff00">systemctl</a> start ntpd 

[ root@vdevops ~]# systemctl enable ntpd


2、 現在のシステムのFirewalldが実行されている場合は、次のコマンドを実行する必要があります

[ root@vdevops ~]# firewall-cmd --add-service=ntp --permanent
success
[ root@vdevops ~]# firewall-cmd --reload
success 
3、 ntpサービスが正常かどうかを確認します
[ root@vdevops ~]# ntpq -p
  remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================* time5.aliyun.co 10.137.38.862 u   92643630.1740.2360.524

4、 aliyunのタイムサーバーを同期する

[ root@linuxprobe ~]# ntpdate times.aliyun.com
26 Oct 11:51:30 ntpdate[2935]: step time server 120.25.115.19 offset 15075.743514 sec

[2] SSHサービスを構成します

1、 「最小インストール」を使用してCentOSをインストールした場合でも、OpenSSHはデフォルトですでにインストールされているため、新しいパッケージをインストールする必要はありません。デフォルトではパスワード認証を使用してログインできますが、安全になるようにいくつかの設定を次のように変更します。

[ root@vdevops ~]# vi /etc/ssh/sshd_config
# 48 行:コメントを外し、[はい]を変更して作成します(ルートリモートログインを禁止する)
PermitRootLogin no

# 77 行:コメントを外す
PermitEmptyPasswords no
PasswordAuthentication yes
[ root@vdevops ~]# systemctl restart sshd 

2、 Firewalldが実行されている場合は、次の戦略を追加する必要があります

[ root@vdevops ~]# firewall-cmd --add-service=ssh --permanent
success
[ root@vdevops ~]# firewall-cmd --reload
success 

3、 sshファイル転送

SCPの使用例(セキュアコピー)

yum -y install openssh-clients

ローカルテストファイルをリモートホストにコピーし、scpを使用する前にホストファイルを設定して、各ホストにホストIPと[ドメイン名解決](https://cloud.tencent.com/product/cns?from=10680)が含まれていることを確認し、対応します。

[ root@vdevops ~]# scp test.txt [email protected]:/tmp
The authenticity of host 'linuxprobe.org (10.1.1.53)' can't be established.
ECDSA key fingerprint is d1:bd:3c:7f:68:71:79:44:4f:e5:2c:42:f1:06:49:14.
Are you sure you want to continueconnecting(yes/no)? yes
Warning: Permanently added 'linuxprobe.org,10.1.1.53'(ECDSA) to the list of known hosts.
[email protected]'s password: 
test.txt 
[ root@vdevops ~]# scp -P22 [email protected]:/tmp/test.txt ./
[email protected]'s password: 
test.txt    
4、 sftpを使用してファイルを転送する
# sftp [Option][user@host]動作パラメータ

[ redhat@vdevops ~]$ sftp [email protected]          #リモートサーバーに接続する
[email protected]'s password:# password of the user
Connected to linuxprobe.org
sftp>
# リモートサーバーの現在のディレクトリを表示する
sftp> pwd
Remote working directory:/home/wang
# ローカルサーバーの現在のディレクトリを表示する
sftp>!pwd
/home/redhat
# ftpサーバー期間の現在のディレクトリファイルを表示する
sftp> ls -l
drwxrwxr-x    2 wang     wang            6 Jul 2921:33 public_html
- rw-rw-r--1 wang     wang           10 Jul 2822:53 test.txt
# ローカルサーバーの現在のディレクトリにあるファイルを表示する
sftp>!ls -l
total 4-rw-rw-r--1 redhat redhat 10 Jul 2921:31 test.txt
sftp> cd public_html                #ディレクトリを切り替える
sftp> pwd
Remote working directory:/home/wang/public_html
# ローカルファイルをリモートサーバーにアップロードする
sftp> put test.txt redhat.txt
Uploading test.txt to /home/wang/redhat.txt
test.txt 100%100.0KB/s 00:00
sftp> ls -l
drwxrwxr-x    2 wang     wang            6 Jul 2921:33 public_html
- rw-rw-r--1 wang     wang           10 Jul 2921:39 redhat.txt
- rw-rw-r--1 wang     wang           10 Jul 2822:53 test.txt
sftp> put *.txt
Uploading test.txt to /home/wang/test.txt
test.txt 100%100.0KB/s 00:00
Uploading test2.txt to /home/wang/test2.txt
test2.txt 100%00.0KB/s 00:00
sftp> ls -l
drwxrwxr-x    2 wang     wang            6 Jul 2921:33 public_html
- rw-rw-r--1 wang     wang           10 Jul 2921:39 redhat.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:45 test.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:46 test2.txt
# リモートサーバーから単一のファイルをダウンロードする
sftp>get test.txt
Fetching /home/wang/test.txt to test.txt
/home/wang/test.txt 100%100.0KB/s 00:00
# リモートサーバーから複数のファイルをダウンロードする
sftp>get*.txt
Fetching /home/wang/redhat.txt to redhat.txt
/home/wang/redhat.txt 100%100.0KB/s 00:00
Fetching /home/wang/test.txt to test.txt
/home/wang/test.txt 100%100.0KB/s 00:00
Fetching /home/wang/test2.txt to test2.txt
/home/wang/test2.txt 100%100.0KB/s 00:00
# create a directory on remote server
sftp> mkdir testdir
sftp> ls -l
drwxrwxr-x    2 wang     wang            6 Jul 2921:33 public_html
- rw-rw-r--1 wang     wang           10 Jul 2921:39 redhat.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:45 test.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:46 test2.txt
drwxrwxr-x    2 wang     wang            6 Jul 2921:53 testdir
# リモートサーバー上のディレクトリを削除します
sftp> rmdir testdir
rmdir ok, `testdir' removed
sftp> ls -l
drwxrwxr-x    2 wang     wang            6 Jul 2921:33 public_html
- rw-rw-r--1 wang     wang           10 Jul 2921:39 redhat.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:45 test.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:46 test2.txt
# リモートサービス上のファイルを削除する
sftp> rm test2.txt
Removing /home/wang/test2.txt
sftp> ls -l
drwxrwxr-x    2 wang     wang            6 Jul 2921:33 public_html
- rw-rw-r--1 wang     wang           10 Jul 2921:39 redhat.txt
- rw-rw-r--1 wang     wang           10 Jul 2921:45 test.txt
# execute commands with"![command]"
sftp>!cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
redhat:x:1001:1001::/home/redhat:/bin/bash
# exit
sftp> quit  #sftp接続を終了します

5、 SSHキー認証

ユーザーごとにキーペアを作成するので、通常のユーザーとしてログインし、以下のように作業します。

[ wang@vdevops ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/wang/.ssh/id_rsa): 
Created directory '/home/wang/.ssh'.
Enter passphrase(empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in/home/wang/.ssh/id_rsa.
Your public key has been saved in/home/wang/.ssh/id_rsa.pub.
The key fingerprint is:
af:58:16:e9:f9:02:bc:95:5d:ec:4d:bd:6a:2b:39:06 [email protected]
The key's randomart image is:+--[ RSA 2048]----+|||||..||.  o ..||.  So o o  .||      o.oE....||+= o ..||.+.o = o   ||...o +..|+-----------------+[wang@vdevops ~]$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
[ wang@vdevops ~]$ chmod 600~/.ssh/authorized_keys 

2つのサーバーには、サーバーとしてvdevops.com、クライアントとしてlinuxprobe.orgが含まれます。サービスのid_rsaファイルがクライアントにコピーされます。クライアント上のオブジェクトのユーザーは、認証ファイルを介してサーバーにログインできます。

linuxprobe.orgで

[ wang@linuxprobe ~]$ ls -a
.... bash_logout  .bash_profile  .bashrc
[ wang@linuxprobe ~]$ mkdir ~/.ssh
[ wang@linuxprobe ~]$ chmod 700~/.ssh
[ wang@linuxprobe ~]$ scp [email protected]:/home/wang/.ssh/id_rsa ~/.ssh/
The authenticity of host 'vdevops.com (10.1.1.56)' can't be established.
ECDSA key fingerprint is f8:d2:55:54:8f:e8:43:e0:ee:aa:d6:8d:53:8c:8e:85.
Are you sure you want to continueconnecting(yes/no)? yes
Warning: Permanently added 'vdevops.com,10.1.1.56'(ECDSA) to the list of known hosts.
[email protected]'s password: 
id_rsa                                                                                                       100%16791.6KB/s   00:00[wang@linuxprobe ~]$ ssh -i ~/.ssh/id_rsa [email protected]
Last login: Wed Oct 2615:39:182016                   #ログイン成功

より安全にリモートサーバーにログインしたい場合は、PasswordAuthentication = noを設定してsshdサービスを再起動すると、リモートサーバーにローカルでログインするときに、パスワードの確認だけでなく、キーファイルの確認も必要になります。

6、 SFTPとChrootを設定する

この設定を適用する一部のユーザーは、SFTPを使用して、指定され許可されたディレクトリにアクセスするか、アクセスすることしかできません。

たとえば、Chrootディレクトリ/ homeを設定します

 # SFTP用の特定のグループを作成する
[ root@vdevops ~]# groupadd sftp_users

# ユーザーwangをsftpグループに追加します

[ root@vdevops ~]# usermod -G sftp_users cent

[ root@vdevops ~]# vi /etc/ssh/sshd_config
# line 147:コメントを外して行を追加する
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
# 以下の行を追加します
Match Group sftp_users
 X11Forwarding no
 AllowTcpForwarding no
 ChrootDirectory /home
 ForceCommand internal-sftp
[ root@vdevops ~]# systemctl restart sshd    #sshdサービスを再起動します

6.2、 ユーザーログインのテスト

[ root@linuxprobe ~]# ssh [email protected]
[email protected]'s password: 
Could not chdir to home directory /home/wang: No such file or directory
This service allows sftp connections only.
Connection to 10.1.1.56 closed.[root@linuxprobe ~]# sftp [email protected]
[email protected]'s password: 
Connected to 10.1.1.56.
sftp> ls -l
drwx------21000100059 Oct 2517:02 shaon
drwx------21002100359 Oct 262016 testuser
drwx------31001100190 Oct 2607:39 wang
sftp> pwd
Remote working directory:/
sftp> exit

7、 SSHポート転送

たとえば、ローカル8081をローカル5901(VNC)に転送するように転送設定を構成します。

# forward the connection to 8081 to 5901 on local
[ wang@linuxprobe ~]$ ssh -L 0.0.0.0:8081:localhost:5901 wang@localhost
wang@localhost's password:   # the password of the working user(it means the login to local to local)
Last login: Thu Jul 1001:35:152014
# confirm
[ wang@linuxprobe ~]$ netstat -lnp | grep 8081(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        000.0.0.0:80810.0.0.0:*               LISTEN      3238/ssh
# keep this session and go next
# it's possbile to start the process on background as a daemon with"-f" option but then it needs to kill it by hand after working.

次に、ポート8081を介してVNCサーバーに接続します

8、 SSHPassを使用して、パスワード認証パスワードを自動的に入力します
これは非常に便利ですが、セキュリティ上のリスク(パスワードの漏洩)がありますので、ご使用の際は特にご注意ください。

< div class="color2">#EPELソースからインストール</div>[root@vdevops ~]# yum --enablerepo=epel -y install sshpass
# sshpassを使用する
[ root@vdevops ~]# sshpass -p fangbuxia..0 ssh 10.1.1.53 hostname
linuxprobe.org
[ root@vdevops ~]# echo "fangbuxia..0" sshpass.txt
fangbuxia..0 sshpass.txt
[ root@vdevops ~]# echo "fangbuxia..0"> sshpass.txt
[ root@vdevops ~]# chmod 600 sshpass.txt 
[ root@vdevops ~]# sshpass -f sshpass.txt ssh 10.1.1.53 hostname
linuxprobe.org
[ root@vdevops ~]# export SSHPASS=fangbuxia..0[root@vdevops ~]# sshpass -e ssh 10.1.1.53 hostname
linuxprobe.org

9、 SSH-Agentを使用して、キーペア認証のパスワードを自動的に入力します

9.1、 SSHキーの検証

キー認証を使用してログインするようにSSHサーバーを構成します。クライアントの秘密鍵とサーバーの公開鍵を作成します。

サーバーとしてvdevops.comを使用します。

ユーザーごとにキーペアを作成するため、通常のユーザーとしてログインし、次のように作業します。

[ wang@vdevops ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/wang/.ssh/id_rsa):/home/wang/.ssh/id_rsa already exists.Overwrite(y/n)? y
Enter passphrase(empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in/home/wang/.ssh/id_rsa.
Your public key has been saved in/home/wang/.ssh/id_rsa.pub.
The key fingerprint is:75:6c:9b:02:0a:00:78:3b:aa:6a:10:71:99:42:a7:62 [email protected]
The key's randomart image is:+--[ RSA 2048]----+|+o.+||+ B..||.E ....+||+ o  .. o o o   || o .. S . o    ||o          .||o                ||..||+|+-----------------+[wang@vdevops ~]$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 
[ wang@vdevops ~]$ chmod 600~/.ssh/authorized_keys 

サーバーで作成されたキーがクライアントに送信され、キー認証を使用してログインできます。

クライアントとしてのlinuxprobe.org:

[ wang@linuxprobe ~]$ mkdir ~/.ssh              #キーファイルを保存するためのデフォルトのパスを作成します。既に存在する場合は、再度作成する必要はありません。
[ wang@linuxpeobe ~]$ mkdir 700~/.ssh
[ wang@linuxprobe ~]$ scp [email protected]:/home/wang/.ssh/id_rsa ~/.ssh/   #サーバーの秘密鍵をコピーする
[email protected]'s password: 
id_rsa                                                                                                       100%16751.6KB/s   00:00[wang@linuxprobe ~]$ ssh -i ~/.ssh/id_rsa [email protected]                 #サーバーの秘密鍵を使用してサーバーにログインします
Last login: Thu Oct 2709:24:182016[wang@vdevops ~]$   #ログイン成功
# クライアントが公開鍵ファイルを作成する
[ wang@linuxprobe ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/wang/.ssh/id_rsa): y
Enter passphrase(empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in y.
Your public key has been saved in<span style="color:#FF6666;">y.pub</span>.
The key fingerprint is:
3 e:de:94:77:cc:11:8c:a5:df:38:30:63:32:25:a1:81 [email protected]
The key's randomart image is:+--[ RSA 2048]----+|.. o...||      E  o o =||. o B o  ||+=+||        S     =.||.. o o ||        o o .+||.+..||..|+-----------------+

# yを入れて.パブをサーバーにコピーし、承認済みに追加します_キーでは、パスワードなしでサーバーからクライアントにログインできます

10、 並列SSHを使用する

[1] psshをインストールします
# EPELソースからインストール
[ root@vdevops ~]# yum --enablerepo=epel -y install pssh
[2] PSSHの使用方法.
キーペア認証がサーバー間で設定されていることを確認します
# サーバーに接続してコマンドを実行する
[ wang@vdevops ~]$ pssh -H "10.1.1.51 10.1.1.52"-i "hostname"[1]17:28:02[SUCCESS]10.1.1.51
node01.linuxprobe
[2]17:28:02[ SUCCESS]10.1.1.52
node02.linuxprobe
# it's possible to read host list fron a file

[ wang@vdevops ~]$ vi pssh_hosts.txt
# 次の形式のカスタムホストファイル
[email protected]
[email protected][wang@vdevops ~]$ pssh -h pssh_hosts.txt -i "uptime"[1]19:37:59[SUCCESS] [email protected]:37:59 up  1:35,0 users,  load average:0.00,0.00,0.00[2]19:37:59[SUCCESS] [email protected]:37:59 up  1:35,0 users,  load average:0.00,0.00,0.00[3]パスワード認証を使用できますが、ホストファイルで定義されている同じホストアカウントのパスワードが同じであることを確認する必要があります
[ wang@vdevops ~]$ pssh -h pssh_hosts.txt -A -O PreferredAuthentications=password -i "uname -r"
Warning:do not enter your password if anyone else has superuser
privileges or access to your account.
Password: # input password

[1]12:54:06[ SUCCESS] [email protected]_64
[2]12:54:06[ SUCCESS] [email protected]_64<span id="transmark" style="display: none; width: 0px; height: 0px;"></span>

概要:CentOSで関連サービスを構成する場合、サービスの原則を一般的に理解するために、さらにいくつかの記事を構成することをお勧めします。

Recommended Posts

CentOS 7はNTP、SSHサービスをセットアップします
CentOS8はNTPサービスを有効にします
CentOS8でSSHキーを設定する方法
Centos7はGitBook環境をセットアップします
Centos6はGitBook環境をセットアップします
centos6.9rabbitmqがSSLを設定
CentOSセットsshキーログインオリジナル
自動更新を設定するためのCentOS8の完全な手順
MacOSでVirtualboxを使用してCentOSネットワークをセットアップする
CentOS7はDockerサービスをインストールします
CentOS7はRabbitMQサービスを展開します
CentOS7はsaltstackサービスを展開します
CentOS7はNFSサービスを展開します
Centos7ビルドDNSサービス
Centos6.8はvncサービスを展開します
CentOS7でApache仮想ホストを設定する方法
CentOSでGitサーバーをセットアップするための詳細な手順
CentOS7デプロイvsftp(FTP)サービス
CentOs7.3ビルドRabbitMQ3.6スタンドアロンサービス
UbuntuでSSHサービスを開く
CentOs7.3ビルドZooKeeper-3.4.9スタンドアロンサービス
UbuntuでSSHサービスを開く
Centos7.2展開vncサービスレコード
RHEL CentOS 8 SSH2要素認証
CentOs7.3ビルドSolrCloudクラスターサービス
Centosで静的IPを設定する
CentOS8でNginxサーバー構成ブロックを設定する方法