首页 » SSH » 正文

SSH 使用密钥登录并禁止口令登录

前言
无论是个人的VPS还是企业允许公网访问的服务器,如果开放22端口的SSH密码登录验证方式,被众多黑客暴力猜解捅破菊花也可能是经常发生的惨剧。企业可以通过防火墙来做限制,普通用户也可能借助修改22端口和强化弱口令等方式防护,但目前相对安全和简单的方案则是让SSH使用密钥登录并禁止口令登录。
这是最相对安全的登录管理方式
生成PublicKey
建议设置并牢记passphrase密码短语,以centos生成为例
客户端设置:
1、点击Xshell菜单栏的工具,选择新建用户密钥生成向导,进行密钥对生成操作。
2、在弹出的页面中选择下一步
3、在弹出的页面中选择下一步

4、设置用户秘钥的加密密码,名称可以随便起,我为了好记,使用IP地址,用户秘钥加密密码,切记一定要记住。点击下一步
5、点击下一步,点击完成。
5、点击属性,在弹出的页面中点击公钥标签
6、将公钥的信息复制出来,放到记事本中,服务端配置的时候需要使用。
服务端设置:
为了方便,我这边采用的是root用户
#cd /root/.ssh
#vim authorized_keys  //将客户端生成的公钥粘贴进去,然后保存退出。
#chmod 600 authorized_keys //修改该文件的权限,否则可能会遇到问题!
#vim /etc/ssh/sshd_config
   PubkeyAuthentication yes  //注释取消

  AuthorizedKeysFile      .ssh/authorized_keys //注释取消
  PasswordAuthentication no   //把yes改成no
#service sshd restart  //重启SSHD服务器
验证:
使用XSHELL连接服务器,如图:
密码栏是灰色的,不可写入,输入在生成证书的时候填写的用户秘钥加密密码即可登录服务器。
后续:
如果需要在别的机器上登录服务器,可以将证书导入到其他机器即可,步骤如下:
1、点击Xshell菜单栏的工具,选择用户秘钥管理者。
2、在弹出的窗口左侧选择10.23.2.4,点击窗口右侧的导出按钮,将文件保存到本地。
3、将文件发送给需要登录服务器的机器上,按照同样的操作在步骤2中选择导入,将文件导入,通过用户秘钥加密密码即可登录服务器。

 

发表评论