最流行的兩種SSH身份驗(yàn)證機(jī)制是基于密碼的身份驗(yàn)證和基于公鑰的身份驗(yàn)證。使用SSH密鑰通常比傳統(tǒng)的密碼身份驗(yàn)證更安全和方便。
環(huán) 境
客戶端:centos8 192.168.43.137
服務(wù)端:CentOS8 192.168.43.139
創(chuàng)建SSH公私鑰
通過輸入以下命令,生成新的4096位的SSH密鑰對:
[root@localhost ~]# ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ycOtSDK8ud2kd6EH7OxoQuc1BFb1HJ3T/kvAQJt0LrI [email protected]
The key's randomart image is:
+---[RSA 4096]----+
| ...oo.o o |
| o .+=.+ .|
| . . . +=. o |
| . o.oo .o .|
| + .oSE. . .|
| .*..=o. ..|
| .oo.+o+ . . .|
| .oo== o . |
| .o+ooo |
+----[SHA256]-----+
<以上代碼可復(fù)制粘貼,可往左滑>
想要驗(yàn)證是否生成了新的SSH密鑰對,使用ls -l命令查看~/.ssh目錄是否有剛才生成的文件:
[root@localhost ~]# ll ~/.ssh/
total 8
-rw------- 1 root root 3389 May 13 08:26 id_rsa
-rw-r--r-- 1 root root 752 May 13 08:26 id_rsa.pub
<以上代碼可復(fù)制粘貼,可往左滑>
將公鑰復(fù)制到遠(yuǎn)程服務(wù)器,使用ssh-copy-id實(shí)用程序,輸入遠(yuǎn)程服務(wù)器的root密碼:
[root@localhost ~]# ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.43.139 (192.168.43.139)' can't be established.
ECDSA key fingerprint is SHA256:7O1oIOooh4NZG87aC3v1Zz/vcTXkjOhQBnlkY0CD4y0.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
<以上代碼可復(fù)制粘貼,可往左滑>
也可以使用以下命令復(fù)制公鑰:
[root@localhost .ssh]# cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
<以上代碼可復(fù)制粘貼,可往左滑>
使用密鑰登錄服務(wù)器
使用以下命令登錄ssh服務(wù)器:
[root@localhost ~]# ssh 192.168.43.139
Last login: Tue May 12 12:33:41 2020 from 192.168.43.137
<以上代碼可復(fù)制粘貼,可往左滑>
關(guān)閉密碼認(rèn)證
登錄服務(wù)器端,關(guān)閉密碼認(rèn)證:
[root@localhost ~]# ssh 192.168.43.139
Last login: Tue May 12 12:33:41 2020 from 192.168.43.137
[root@localhost ~]# vim /etc/ssh/sshd_config
搜索一下三條,將選項(xiàng)改為No
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
<以上代碼可復(fù)制粘貼,可往左滑>
重啟sshd服務(wù):
[root@localhost ~]# systemctl restart sshd
<以上代碼可復(fù)制粘貼,可往左滑>
總 結(jié)
可以使用同一密鑰管理多個(gè)遠(yuǎn)程服務(wù)器。默認(rèn)情況下,SSH的端口是TCP 22。更改默認(rèn)SSH端口可降低自動攻擊的風(fēng)險(xiǎn)。






