0%

Ubuntu设置SSH免密码登录

通过SSH公钥(锁🔒)和密钥(钥匙🔑)来实现Putty免输入密码登录操作。

生成公钥和私钥

1
2
# -t 指定密钥烈性
ssh-keygen -t rsa

SSH_生成公钥_私钥

用WinSCP打开文件保存路径/root/.ssh/,上述命令会在该目录下生成 id_rsa和 id_rsa.pub两个文件。

注意 设置/etc/ssh/sshd_config 文件下的 PermitRootLogin yes
PasswordAuthentication yes 才可以root登录,并重启ssh服务 systemctl restart ssh.service

/root/.ssh/路径下的id_rsa导入到PuTTYgen (Conversions -> Import key),并生成及保存私钥。
在PuTTY SSH -> Auth 中添加私钥文件。

再次修改SSH配置文件/etc/ssh/sshd_config,取消下面几项配置的注释

1
2
[[PubkeyAuthentication]] yes
[[AuthorizedKeysFile]] .ssh/authorized_keys .ssh/authorized_keys2

执行下面这条命令,将公钥添加到.ssh/authorized_keys

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

至此完成Ubuntu SSH 免密码登录设置。

集群的配置

常见的分布式集群,通常由多台机器构成,为了便于操作管理,通过ssh方式启动集群代理,需要在多个服务器上进行ssh免登录配置。将第一台机器上的authorized_keys复制到第二台机器上。

1
scp authorized_keys root@192.168.56.101:~/.ssh

然后将第二台机器的公钥也追加到授权文件中

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

同样的操作在第三台第四台机器上分别执行。配置完成后再任意一台机器上都可以免密登录到其他机器上。ssh 192.168.56.102即可。

SSH_集群互相登录