在日常工作中,服务器常常会有多台。特别是应用服务器存在多台的情况下,在每台机器手动部署或升级服务,每次登录多台机器特别麻烦,通过一台机器跳转每次输入密码(一般都是超强密码)也麻烦。所以说配置机器间的免密,对日常工作来说可以简化操作流程,节省宝贵时间。这篇就简单说说如何配置多台机器间的免密功能。

环境:主机名为 node111、node112 的两台机器。

第一步,安装 openssl

前提是配置好了 yum 源的情况下,执行如下命令安装 openssl。

yum install openssl-devel

备注:如果yum源没配置好,可以参考本博客中的

第二步,生成 .ssh 目录

注意:用以下命令在家目录下生成 .ssh目录, 不能直接手工创建。

1)查看家目录下是否已经有 .ssh 目录

# ll -a ~/

2)如果没有,生成 .ssh 目录

# ssh node111

3)再次查看家目录下是否已经有 .ssh 目录

# ll -a ~/

Linux 机器间配置 SSH 免密登录_ssh

Linux 机器间配置 SSH 免密登录_运维_02

第三步,生成密钥文件

想让 node111 免密码登陆 node112,先在 node111 上生成密钥文件,包括私钥和公钥。

# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

Linux 机器间配置 SSH 免密登录_ssh_03

第四步,配置自己免登录

把自己当前生成的公钥配置追加到自己的认证文件中。

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

第五步,拷贝公钥到其它机器

这里要和 node112 做免密,拷贝公钥到 node112 机器的任意目录下,比如 /opt。

# scp ~/.ssh/id_dsa.pub root@node112:/opt/

Linux 机器间配置 SSH 免密登录_openssl_04

第六步,在其它机器添加公钥

在 node112 上把从 node111 传过来的公钥配置追加到 node112 的认证文件中。

注意:前提是 node112 上也生成了 .ssh 目录。

# cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys

Linux 机器间配置 SSH 免密登录_运维_05

第七步,测试免密登录配置

在 node111 上测试免密登录 node112,可以看到不用输入密码就可以直接跳转到 node112 上。如果想退出跳转,直接输入 exit 命令即可回到 node111。

# ssh node112

Linux 机器间配置 SSH 免密登录_服务器_06

So easy!Good Luck!