CentOS上设置 SSH 免密码登录

SSH免密码登录的原理:

SSH证书认证登录的基础是一对唯一匹配密钥:私钥(private+key)和公钥(public+key)。

公钥用于对数据进行加密,而且只能用于加密。而私钥只能对使用所匹配的公钥,所加密过的数据进行解密。私钥需要用户单独妥善保管。

SSH客户端使用私钥向服务器证明自已的身份。而公钥是公开的,可以按需将其配置到目标服务器上自己的相应帐号中。

在进行SSH登录认证时,进行私钥和公钥协商。如果匹配,则身份得以证明,认证成功,允许登录。

否则,将会继续使用密码验证等其它方式进行登录校验。SSH证书验证登录配置及登录协商过程,如下证书校验交互登录流程示意图所示

举例:

目前是要实现:在A站点"122.141.182.219" 上实现ssh无密码连接B站点:Linux服务器"218.4.142.156"

1) 在A站点:"122.141.182.219"服务器上使用"ssh-keygen -t rsa"命令来创建公钥。

根据提示,一路回车即可,提示输入密码时回车即表示空密码。在用户根目录下会生成.ssh文件夹,里面包括id_rsa(私钥)和id_rsa.pub(公钥)

2) 在A站点上用 ssh-copy-id 命令将公钥复制或上传到远程主机B 218.4.142.156,并将身份标识文件追加到218.4.142.156的 ~/.ssh/authorized_keys 中:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@218.4.142.156

或者另外一种方法

A站点上

scp ./.ssh/id_rsa.pub root@218.4.142.156:~/.ssh/

然后登录B站点上

cd ~/.ssh/

cat id_rsa.pub >>authorized_keys

chmod 600 authorized_keys

3)验证在A站点免密码 SSH 登录站点B

免密码登录配置好以后,可以通过SCP来传输文件,不用每次都输入密码了

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180710G1N7A700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券