今日天气
  1. 博客/

修复 SSH 免密无法连接

·296 字·1 分钟· ·
SRE linux sshd
Johny
作者
Johny
熟练的 云原生搬砖师
Table of Contents

说明
#

我们通常在远程连接目标服务器时,已避免经常性的输入密码,通常会通过 免密钥 的方式以解决每次连接多需要输入密码问题,但有的时候我们配置免密钥后,却未能生效,可以尝试使用下述方法进行解决。

SSH 免密钥方式
#

  1. 生成 SSH 公私钥

    ssh-keygen -b 2048 -t rsa -f ./id_rsa -q -N ""
    
  2. 公钥 COPY 至目标服务器,完成免密钥

    sshpass -p '{{ .ssh_password }}' \
        ssh-copy-id -p {{ .ssh_port }} -i id_rsa.pub \
        -o StrictHostKeyChecking=no "{{ .ssh_user }}@${host}" -f
    

解决方案
#

Plan 1
#

目标 服务器中执行

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_key

Plan 2
#

目标 服务器中执行

chmod 700 ~/.ssh/ 
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub 
chmod 644 ~/.ssh/authorized_keys

Plan 3
#

连接失败,有种情况和所使用私钥的权限配置不对有关。连接机执行

chmod 600 id_rsa

总结
#

按照上述三种方案,一般问题多能够得到解决,如果还是不行,请结合服务端日志,进一步分析定位。一般为 [sshd] 的配置错误导致。

相关文章

使用 Docker-Compose 部署 openConnect Vpn Server
·793 字·2 分钟·
linux network openconnect docker-compose openldap
Gocron 实践安装,实现统一定时任务管理平台
·599 字·2 分钟·
centos linux gocron docker
Git 使用问题的记录
·322 字·1 分钟·
devops linux git
OpenVpn 的安装,并配置关联 openLdap 认证
·953 字·2 分钟·
linux network openvpn install
Centos7 执行 shutdown 无法正常关机的解决
·468 字·1 分钟·
linux centos7 shell
Raid 阵列卡 Megacli 管理工具的使用记录
·211 字·1 分钟·
linux raid stroage