美文网首页
centos7中SSH连接失败问题处理

centos7中SSH连接失败问题处理

作者: fight2escape | 来源:发表于2018-03-15 20:12 被阅读0次
    • 主要内容如下:
      • 适用情况
      • 服务器没有打开sshd服务
      • 不允许root用户密码登陆
      • 配置密钥免密码登陆

    适用情况:能用云服务器提供商的控制台远程登录,但无法使用Xshell连接。

    • 首先使用网页版远程登录,测试ssh查看报错: ssh -l 用户名 IP地址
    • 报错:permission denied publickey,gssapi-with-mic
    • 可参考一下三个方案进行处理

    方案一:服务器没有打开sshd服务或相关端口如22

    • 查看服务状态 systemctl status sshd,如果未安装则先安装
    • 端口开关到相关云服务器控制台中设置安全组即可

    方案二:ssh不允许使用root用户使用密码登陆

    • 修改配置文件 vim /etc/ssh/sshd_config
    • 允许用root用户登录 PermitRootLogin yes
    • 允许密码登录PasswordAuthentication yes
    • 重启SSH服务systemctl restart sshd

    方案三:配置密钥免密码登陆

    如果已经在云服务器控制中心生成了秘钥,就请略过下面的生成秘钥,直接修改配置文件即可

    • cd 回到家目录

    • ssh-keygen -t rsa 生成密钥,一路回车即可

    • cd .ssh 查看密钥,隐藏文件需要 ll -a 才能看见

    • vim /etc/ssh/sshd_config 修改SSH配置文件

      • PermitRootLogin yes
        • 禁用root账户登录,如果是用root用户登录请开启
      • StrictModes no
        • 是否让sshd 去检查用户家目录或相关档案的权限数据,这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
      • RSAAuthentication yes
      • PubkeyAuthentication yes
        • 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
      • AuthorizedKeysFile .ssh/authorized_keys
        • 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
      • PasswordAuthentication no
        • 有了证书登录了,就禁用密码登录吧,安全要紧
    • 写入公钥数据。

      • cat id_ras.pub >> authorized_keys
        • 把公钥数据id_rsa.pub附加到 authorized_keys 这个档案内
      • systemctl restart sshd
        • 重启SSH服务
    • 下载私钥

      • 使用lrzsz工具进行上传下载。
      • yum -y install lrzsz
        • 如果系统默认没有安装的话先进行安装
      • sz id_ras
        • 仍然在当前目录下,直接输入命令后即可弹出对话框,让你选择存放到本地的位置,放到桌面即可,方便选择
      • 使用你的远程连接工具进行登录,登录方式中选择密钥登录,然后浏览选中刚才下载的密钥进行导入,导入后下载的密钥请存放到安全位置,以后就可以直接登录不输密码了,本人使用Xshell,如下图。
        SSH使用密钥远程登录0
    • 以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议尝试设置权限如下:

      ~/.ssh/                     700
      .ssh/authorized_keys        644
      .ssh/id_rsa                 600  且属于你当前要添加的用户
      
    • (非必要,仅供参考)让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:

      • vim /etc/ssh/sshd_config
      • PasswordAuthentication 改为yes
      • 然后再加一条:AuthenticationMethods publickey,password
      • 重启SSH服务:systemctl restart sshd.service
    • PS:在配置完成后不要关闭当前的远程连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

    • PSPS:如果还是打不开,可以尝试先打开网页版的远程登录,登陆后再使用远程连接工具进行连接。

    相关文章

      网友评论

          本文标题:centos7中SSH连接失败问题处理

          本文链接:https://www.haomeiwen.com/subject/eiawfftx.html