Linux 系统 SSH 免密登录

1、机器信息:

node01:192.168.1.102
node01:192.168.1.104

 

2、实现效果:

node01 --> node02 免密; node02 --> node01 不免密

 

3、node01端:

node01 把自己公钥内容(id_rsa.pub) 增加到 node02 的认证文件(authorized_keys) 中。

node01: (公钥可以没有,私钥一定要有)

# ssh-keygen

# ls ~/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts

# scp ~/.ssh/id_rsa.pub root@192.168.1.104:~/.ssh/

node02端配置完毕后,才可以免密登录。

# ssh root@192.168.1.104 

----------------------------------------------------------------------------------------

另:也可以通过 SSH 命令直接将 id_rsa.pub 文件内容直接添加到对方主机的 authorized_keys 文件中。

如果对方直接有 authorized_keys 文件,则直接添加 key 内容 。
# ssh root@192.168.1.104 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

如果对方机器没有,就要先建立 .ssh 目录及 authorized_keys 文件,然后再添加 key 内容 。
# ssh root@192.168.1.104 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

这样就可以直接免密登录了。

# ssh root@192.168.1.104

  

4、node02端:
node02:(authorized_keys 默认是没有的)

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# ls ~/.ssh/
authorized_keys known_hosts

 

5、相关文件解析:

known_hosts:本机 SSH 曾经连接过的机器的名称及相关信息。
id_rsa.pub:本机的 SSH 连接的公钥。
id_rsa:本机 SSH 连接的私钥。
authorized_keys:存储需要连接本机的 SSH 公钥(们)的信息。

 

[THE END]  

posted @ 2021-04-29 18:55  Lambeto  阅读(121)  评论(0编辑  收藏  举报