Linux主机之间实现免密登录
- 1.要求及环境
- 系统:Centos7.4
- 要求:主机A免密登录主机B
主机A配置:
执行`ssh-keygen -t rsa`命令,出现其他直接按回车键,需要按三次,出现下面的显示及代表执行成功,自此秘钥生成成功。
[root@server-A ~]# ssh-keygen -t rsa
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:S6hArVVfAmUSh0w3kzxm81nt97nbBohuVn60UdIkZ7Q root@web-server
The key's randomart image is:
+---[RSA 2048]----+
| o**O.. . ..|
| . .o*B= . o =|
| . o o.+ o . E |
| . o . o o +|
| o . S . . +o|
| . . . .. o +..|
| . .. o . +.|
| + . o.o|
| o . oo|
+----[SHA256]-----+
[root@server-A ~]#
生成成功之后会在用户的根目录生成一个 “.ssh”的文件夹
切换到/root/.ssh/ 目录,其中:
- id_rsa : 生成的私钥文件
- id_rsa.pub : 生成的公钥文件
- know_hosts : 已知的主机公钥清单
[root@server-A ~]# cd /root/.ssh/
[root@server-A .ssh]# ls
know_hosts id_rsa id_rsa.pub
[root@server-A .ssh]#
主机B配置:
将公钥文件拷贝出来,放至主机B上/home目录,然后在主机B上执行下面命令
[root@server-B ~]# cd /home/
[root@server-B home]# ls
admin www id_rsa.pub
[root@server-B home]# cat id_rsa.pub>>/root/.ssh/authorized_keys
ps:上面第四行里面的> >是 >>,请自行替换,一个>代表写入,两个>代表追加
通过以上命令将我们从A主机上面拷贝是公钥追加到B主机上面的/root/.ssh/authorized_keys,自此,可以通过在主机A上ssh登录主机B,第一次会提示你确认,直接输入yes即可,后面再次登录将不会要求输入任何信息,直接进入到主机B,成功登录即代表该配置已经成功,如果要配置B主机访问A主机,配置相反,主机生产秘钥,将B主机公钥内容追加到A主机/root/.ssh/authorized_keys文件即可,不存在authorized_keys文件新建即可。
注:需要注意的是:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600