通过SSH公钥(锁🔒)和密钥(钥匙🔑)来实现Putty免输入密码登录操作。
生成公钥和私钥
1 | -t 指定密钥烈性 |
用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 | [[PubkeyAuthentication]] yes |
执行下面这条命令,将公钥添加到.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
即可。