在我們的內網環境中,每天都要切換登陸很多不同的機器,每次都要手動輸入密碼;既長又難記的密碼真讓人頭疼,以下來講解如何在不同主機之間進行免密登陸。
準備兩臺機器
A:192.168.56.18
B:192.168.56.6
在A和B機器上生成密鑰
[root@centos7_code1 ~]# ssh-keygen -t rsa #生成ssh私鑰和公鑰文件
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #密鑰文件存放位置,默認回車
Created directory '/root/.ssh'.
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:Se8XcMGievTvZeHcsGys+qWiQenSrwax61ewxi4lAEU root@centos7_code1
The key's randomart image is:
+---[RSA 2048]----+
| oE .. |
| . . .. |
| . ..... |
| . ..++ o |
| . *S+. . o |
| =+*.o * = |
| .O+.... @ .|
| o.+o...B |
| ..+ooo== |
+----[SHA256]-----+
[root@centos7_code1 ~]# ls /root/.ssh/ #可以看到私鑰和公鑰文件
id_rsa id_rsa.pub
A機器免密登錄B機器
[root@centos7_code2 .ssh]# touch authorized_keys
然後在A機器上覆制自己的公鑰文件 id_rsa.pub到B機器的authorized_keys文件中
[root@centos7_code1 .ssh]# scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys
再來到B機器上查看拷貝過來的文件內容
[root@centos7_code2 .ssh]# vim /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCw7nix6UTAZN5R2N3Nqi+eDqcdDj2Dgcnk1nVXgNQNmygdMtkA3WOrC/hvHqnAdf9LCxqeddyPPofe8bAY/gHnfTKBUuW/2vYNC3Xn6FQrttkCuUwsvPoFkdqmqmk21cU/RGhKzHO1Bu65IxDb9jr38h5eIwdYdBVjJNdIAENM4dafNN/ZmW9PCSXTdCCshqHtX/nDg4h4AP1PqvnHOB6miSCGXevZWbhrdFzsEj/bTo6mtqNc1wZ6XkKZ2CWi384KCxnMzipcntHUzEXiu0kDMc6pA+CLK7wdKm9pWpfRl+VBqwfdmmUgGffHW3FELu8WdiGX9G/Me7KtXBgnvckr root@centos7_code1
注意:
如果需要多臺機器登錄到本臺機器免密,把其它機器的公鑰文件需追加到該文件底部即可
測試A機器免密登錄B機器
[root@centos7_code1 .ssh]# ssh [email protected]
Last login: Sun Jul 22 21:57:14 2018 from 192.168.56.2
[root@centos7_code2 ~]#