共计 1861 个字符,预计需要花费 5 分钟才能阅读完成。
一、原理
我们使用 ssh-keygen 在 ServerA 上生成私钥跟公钥,将生成的公钥拷贝到远程机器 ServerB 上后, 就可以使用 ssh 命令无需密码登录到另外一台机器 ServerB 上。
生成公钥与私钥有两种加密方式,第一种是 rsa(默认),还有一种是 dsa, 使用时两种方式随便选一种即可
/usr/bin/ssh-keygen -t [rsa | dsa]
如果直接执行 ssh-keygen,那么默认采用 rsa 生成公钥跟私钥
二、操作步骤
互信的原理了解了,我们可以把配置 ssh 互信的步骤进行有效的分割。
1. 在要配置互信的机器 (web-15 和 web-211) 上生成各自经过认证的 key 文件。
2. 将所有的 key 文件汇总到一个总的认证文件中。
3. 将总的认证文件分发到想要进行互信的机器(web-211,web-15)
4. 互信的验证
例如有如下两台机器:
主机 | 用户 |
192.168.27.211 | web211 |
192.168.27.15 | web15 |
第一步:登录 192.168.27.211 上面切换到 web211 用户
1.[web211@master01 ~]$ /usr/bin/ssh-keygen -t rsa
按三次回车,在~/.ssh/ 目录下面便会生成如下 id_rsa(私钥)id_rsa.pub(公钥)这两个文件
第二步:登录 192.168.27.15 上面切换到 web15 用户
1.[web15@Node03 ~]$ /usr/bin/ssh-keygen -t rsa
2.[web15@Node03 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第三步:在 192.168.27.15 上面汇总 id_rsa.pub 到 authorized_keys 文件中
1.[web15@Node03 ~]$ ssh web211@192.168.27.211 cat /home/web211/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第四步:将 192.168.27.15 上面的 authorized_keys 文件分发到 192.168.27.211 上面
1.[web15@Node03 .ssh]$ scp ~/.ssh/authorized_keys web211@192.168.27.211:~/.ssh/authorized_keys
第五步:修改 authorized_keys 文件的权限,只有当前互信用户可读写,否则通不过 SSH 的安全检查
15 跟 211 都得执行:这步搞得我蛋疼了许久,这也是我做笔记的原因。
1.chmod 600 ~/.ssh/authorized_keys
到此为止,互信配置完毕,检测一下是否成功。
1.[web15@Node03 .ssh]$ ssh web211@192.168.27.211
2.[web211@master01 ~]$ – 这里变成了 web211 了,说明免登录进入了 92.168.27.211
下面关于 SSH 相关的文章您也可能喜欢,不妨参考下:
Ubuntu 下配置 SSH 服务全过程及问题解决 http://www.linuxidc.com/Linux/2011-09/42775.htm
Ubuntu 14.04 下安装 Samba 及 SSH 服务端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm
SSH 服务远程访问 Linux 服务器登陆慢 http://www.linuxidc.com/Linux/2011-08/39742.htm
提高 Ubuntu 的 SSH 登陆认证速度的办法 http://www.linuxidc.com/Linux/2014-09/106810.htm
开启 SSH 服务让 Android 手机远程访问 Ubuntu 14.04 http://www.linuxidc.com/Linux/2014-09/106809.htm
如何为 Linux 系统中的 SSH 添加双重认证 http://www.linuxidc.com/Linux/2014-08/105998.htm
在 Linux 中为非 SSH 用户配置 SFTP 环境 http://www.linuxidc.com/Linux/2014-08/105865.htm
Linux 上 SSH 服务的配置和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/128914.htm