VxTerm:使用Private/Public Key实现无密码登录
1、自行生成一对RSA密钥对:
如果服务端是linux,可以直接在服务端,使用ssh-keygen生成:

生成后,可以在 ~/.ssh/ 目录下看到 id_rsa和id_rsa.pub两个密钥文件:

也可以在网上,找到在线生成RSA密钥站点生成,或者会用Windows下的命令生成。
2、把public key导入服务端的配置文件里:
在Linux中,一般默认两个文件:authorized_keys和authorized_keys2
由于咱们是在Linux下直接生成的,可以直接
cat id_rsa.pub >> authorized_keys
就可以实现导入,如果是在本地生成的,需要把public key上传到服务端,然后自行导入。
3、检查sshd的配置
检查是否已开启了Public Key 登录验证窗口
vi /etc/ssh/sshd_config

找到这两行,把前面的#号去掉。
默认情况下,前面有#时,OpenSSH默认也是开启了Public Key登录验证的。
4、在新的OpenSSH版本中,默认是关掉了RSA 密钥
如果您生成的密钥是采用RSA算法的,有可能出现无法验证成功,需要检查以下信息:
检查您生成的Public Key是不是采用RSA算法:
cat id_rsa.pub,看看最前面的算法名是不是ssh-rsa,如果是,就有可能无法在默认情况下验证登录。

同样,vi /etc/ssh/sshd_config
在最底下增加:
PubkeyAcceptedAlgorithms=+ssh-rsa

完成后重启sshd
5、将private key导入VxTerm会话配置中:
zpf@zpf-linuxmint:~/.ssh$ cat id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEA5xI7BIP91htjtiLJM6l4Ypxdv3csVR05eaBUofGNnPntWfO6aZbC
u5MfguSx1lzs3FAvnn+5j0Fnt4d+UBKMtHwx5uPosk7KP6THO2/ZLWVS7k+810Scr3dmWr
iKSFDWfJmgEVFJP/TlDb99l1lVvfZ6cf8u0gB7ylfMf/UiLwO8l85wlHOcesEkcGtWWbw7
wcNQOGZfK0v+1tMY3XZm3bgT9XWm3w0BlubN1qa97+DYWn627RqX7lgzaWTggN/ndNWT3W
....
-----END OPENSSH PRIVATE KEY-----

6、如果在生成密钥时,输入了passphrase,则需要把该密码输入到密钥密码中。
删除 连接配置里的Password,或者是在 连接配置/SSH/高级/登录验证方法,调整为 仅使用 Public Key登录。

重新连接即可。完成后,需要保存会话配置。
如果无法登录成功,或许您可以在 /var/log/auth.log中,可以看到验证失败的原因:

完成后,可以删除.ssh/目录下的 id_rsa和id_rsa.pub两个文件。
7、可以用同一对密钥管理多台服务器
如果您打算多台服务器都用同一对密钥进行登录管理时,可以将private key导入到VxTerm的全局选项中,再把同样的public key都导入到每一台您需要管理的服务器的 ~/.ssh目录下。
转载请注明 : 文章转载自不了阁-飞哥 blog.forbs.cn
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。




