前言

对于经常需要互联或者传送文件的Linux主机,可以配置ssh免密码登录。

以 192.168.0.1 和 192.168.0.2 下的root用户为例。

生成ssh-key

在两台机器上,使用root或者对应用户下执行ssh-keygen生成本机针对当前用户的ssh-key:

1
ssh-keygen -t rsa

一路默认即可。

此时在当前用户下的~/.ssh/文件夹中生成 id_rsa 和 id_rsa.pub 两个文件,其中 id_rsa 为私钥, id_rsa.pub 为公钥。

配置认证权限

主机A的公钥追加到主机B的 authorized_keys 中,相当于主机B主机A的公钥进行了认证,即可实现主机A免密码登录到主机B

步骤一:192.168.0.1 认证 192.168.0.2

在192.168.0.1上,复制192.168.0.2 的公钥文件,此时还需要输入密码:

1
scp root@192.168.0.2:~/.ssh/id_rsa.pub ./2_id_rsa.pub

将 192.168.0.2 的公钥加入到 192.168.0.1 的authorized_keys:

1
cat 2_id_rsa.pub >> ~/.ssh/authorized_keys

此时,192.168.0.2 的对应用户已经可以免密码登录192.168.0.1。

步骤二:192.168.0.2 认证 192.168.0.1

在192.168.0.2上,复制 192.168.0.1 的公钥文件,此时已经不需要输入密码:

1
scp root@192.168.0.1:~/.ssh/id_rsa.pub ./1_id_rsa.pub

将 192.168.0.1 的公钥加入到 192.168.0.2 的authorized_keys:

1
cat 1_id_rsa.pub >> ~/.ssh/authorized_keys

此时,192.168.0.1 的对应用户已经可以免密码登录192.168.0.2,实现了双向免密码登录。

如果再增加其他主机,采用类似的添加公钥的方案即可。

参考

  1. ubuntu下ssh免密码登录配置:https://blog.csdn.net/spring292713/article/details/14000737

最后更新: 2019年04月19日 21:37

原始链接: http://andersjing.com/2018/07/26/ssh-nopass-login/

× 请打赏~
打赏二维码