很多时候,为了服务器安全,我们需要禁用服务器密码登录功能,使用public key的方式登录服务器。我们常用的windows下的软件xshell就可以通过这种方式登录。以xshell5为例,具体操作步骤如下:

  1. 点击“工具”菜单下的“新建用户密钥向导”
    xshell
  2. 选择密钥类型为RSA,长度为2048位
    xshell1
  3. 按“下一步”生成公钥,再按“下一步”指定用户密钥的相关信息
    xshell2
  4. 点击“下一步”,选择公钥格式为SSH2-OpenSSH
    xshell3
  5. 可以把公钥的内容直接在服务器上注册,也可以点击“保存为文件”,把公钥先存在电脑本地,然后点击“完成”。这里,我把文件保存为id_rsa_2048.pub,存在我本地电脑了。
  6. 在linux服务器建立.ssh和authorized_keys文件
    mkdir ~/.ssh –设置权限700
    touch ~/.ssh/authorized_keys –设置权限600
  7. 设置下selinux
    semanage fcontext -a -t ssh_home_t “.ssh(/.*)?”
    restorecon -rv  .ssh
  8. 导入我们刚才生产的公钥id_rsa_2048.pub到服务器,执行
    cat id_rsa_2048.pub >> ~/.ssh/authorized_keys
  9. 修改sshd配置vim /etc/ssh/sshd_config
    将以下注释去掉:
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys修改:
    PasswordAuthentication yes
    为:
    PasswordAuthentication no
  10. 重启sshd服务
    service sshd restart
  11. 使用public登录
    xshell4

此时,应该已经可以登录了,你也可以把私钥导出,在别的机器上在导入私钥继续使用。

xshell5导入的时候,会提示你输入前面第3步输入的用户密钥加密密码,请输入正确的密码即可导入。

使用xshell免密码登录服务器教程

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注