在用windows时管理linux服务器时,常会用到SecureCRT、Xshell以及开源的putty。在我工作环境大多都是采用密码认证的方式进行登录。今天对学习了些SecureCRT的密钥登录方式。对比密码认证方式,使用密钥认证登录会有以下几个优点:
1、公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦
2、多用户管理服务器时,可以通过多个公钥登录同一用户下,可以避免因为密码认证被用户都需要密码,导致的密码容易泄密的危险。并且使用passwd修改密码,也不会影响到其他用户的登录。
3、做空密码的公钥认证,为运维自动化提供了便捷方法。
4、如果使用putty软件,暂时不支持密码保存功能,每次登录都必须输入相应的密码,而密钥管理可以方便的进行登录,省去输入密码的麻烦操作。
了解了这个优点后,本文开始关于SecureCRT使用密钥登录设置过程。
1、在SecureCRT上生成密钥。
下一步
加密方式有两种,分别为DSA和RSA,在OpenSSL都支持,随便选择一个都可以,下一步
在这个可以输入一个口令(登录的会要求输入这个口令),当然也可以留空。
这是密码长度,默认为1024,下一步
创建密钥中。
注意这里设置为OpenSSH格式,这样就完成了。
2、把公钥拷贝到服务器
在生成的密钥里面有两个文件,一个公钥文件(Identity.pub),一个私钥(Identity)。
需要把Identity.pub内的内容拷贝到Linux服务器的特定文件中:~/.ssh/authroized_keys
其中,“~”表示对应用户的主目录,以root为例。
若.ssh目录不存在,请创建它,并把公钥信息写入文件中:
1. # mkdir ~/.ssh
2. # chmod 700 ~/.ssh
3. # vi ~/.ssh/authorized_keys
4. # chmod 644 ~/.ssh/authorized_keys
注意:必须要注意~/.ssh 的全新必须为700,~/.ssh/authorized_keys必须为644,否则可能会出现登录不了的情况。
3、在SecureCRT上通过密钥登录
通过以上的配置,基本按照ssh服务端的默认配置是可以通过密钥进行登录,如果还是不能可以检查下前面的步骤,以及后面的ssh服务端配置的相关选项进行适当调整。
配置SecureCRT通过密钥登录linux服务器
把PublicKey认证调整到第一。并点旁边的Properties,设置本地密钥的存放地址,设置好后。就可以直接连上linux服务了
4、OpenSSH服务端配置项说明
OpenSSH的配置通常保存在:/etc/ssh/sshd_config
PermitRootLogin no # 禁止root用户登陆
StrictModes yes # 检查密钥的用户和权限是否正确,默认打开的
RSAAuthentication yes # 启用 RSA 认证
AuthorizedKeysFile .ssh/authorized_keys # 验证公钥的存放路径
PubkeyAuthentication yes # 启用公钥认证
PasswordAuthentication no # 禁止密码认证,默认是打开的。