SecureCRT使用密钥key登录SSH服务器
1.使用SecureCRT创建私钥和公钥:
SecureCRT:Options-> Global Options -> Category: SSH2 -> Create Identity File -> DSA/RSA -> 按照提示操作完成。保存的时候选择OpenSSH格式的key,在指定目录会生成两个文件,例如,私钥Identity和公钥Identity.pub
2.linux服务器上建立.ssh目录,一般情况下,已经有这个目录:
# mkdir /root/.ssh
# chmod 700 /root/.ssh
3.将公钥 Identity.pub 传到linux服务器:
上面保存的时候如果没选OpenSSH格式的话,将SSH2兼容格式的公钥转换成为Openssh兼容格式(如果是私钥,则必须是没加密的):
# ssh-keygen -i -f Identity.pub >> /root/.ssh/authorized_keys
# ssh-keygen -i -f Identity.pub >> /root/.ssh/authorized_keys2
如果已经是OpenSSH格式的话,直接把公钥加入到两个鉴权文件中。
# cat Identity.pub >> /root/.ssh/authorized_keys
# cat Identity.pub >> /root/.ssh/authorized_keys2
# chmod 644 /root/.ssh/authorized_keys
# chmod 644 /root/.ssh/authorized_keys2
4.在SecureCRT里面对于需要用key登录的服务器,设置登录模式为PublicKey(连接该服务器的属性Category: SSH2 ->Authentication 把PublicKey移动到最上面),如果需要选择私钥的话,就选择刚刚创建的 Identity 文件私钥。
5. 然后用SecureCRT就可以登录服务器了,不用输入密码,可能需要输入用户名和私钥文件位置。
6.由于已经设置了密钥登录,服务器上原来的密码登录就完全可以去掉:
# vi /etc/ssh/sshd_config
Protocol 2 #仅允许使用SSH2
PubkeyAuthentication yes #启用PublicKey认证
AuthorizedKeysFile .ssh/authorized_keys #PublicKey文件路径
PasswordAuthentication no #禁止密码验证登录
5.重启Linux服务器上SSH服务器:
# service sshd restart 或者:
# /etc/rc.d/init.d/sshd restart
以上步骤是使用SecureCRT生成的密钥对来进行登录验证的,其实也可以在服务器上使用ssh-keygen命令生成的密钥,因为SecureCRT 支持OpenSSH格式的key,所以直接可以使用ssh-keygen生成的私钥和公钥。