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]