Linux 之间的免密登陆

方法和原理

使用 ssh-keygen 在 ServerA 上生成 private 和 public 密钥,将生成的 public 密钥拷贝到远程机器 ServerB 上后,就可以使用 ssh 命令无需密码登录到另外一台机器 ServerB 上。

在 linux 系统中,ssh 是远程登录的默认工具,因为该工具的协议使用了 RSA/DSA 的加密算法【默认是 DSR 算法】,该工具做 linux 系统的远程管理是非常安全的。

这里只给出最简单的实现方法,有兴趣的同学可以自己百度一下 ssh-keygen。

具体方法

创建本地 private 和 public 密钥

1
echo -e "\n" | ssh-keygen -t rsa -P ""

将 public 密钥复制到远程 Linux 主机

1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.xxx.xxx

这样就大功告成了!

测试

1
ssh root@192.168.xxx.xxx

你就不用输入密码,直接 ssh 登陆到另一台 linux 上了。

设置.ssh 目录权限

为了 ssh 目录安全,建议修改一下.ssh 目录的权限。

1
chmod 700 -R ~/.ssh