Linux主机之间实现免密登录

作者: 管理员 分类: 系统运维 发布时间: 2019-08-27 19:19

  • 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:上面第四行里面的&gt &gt是 >>,请自行替换,一个>代表写入,两个>代表追加
通过以上命令将我们从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


发表评论

电子邮件地址不会被公开。