SSH免密登录完整实战教程(原理+一键配置+免密故障排查)
一、SSH免密登录原理
通过非对称密钥实现免密登录:本机生成私钥+公钥,私钥本地保密,公钥上传至目标服务器。远程连接时,本机私钥和服务器公钥自动配对,配对成功无需输入密码直接登录,广泛用于集群通信、定时任务同步、自动化运维。
二、完整一键配置步骤(全网通用,三步搞定)
1. 客户端生成密钥对(一路回车,无需设置密码)
ssh-keygen执行后默认在当前用户家目录生成隐藏目录:~/.ssh/,包含id_rsa(私钥)、id_rsa.pub(公钥)
2. 推送公钥到目标服务端
ssh-copy-id root@192.168.10.100输入一次目标服务器密码,自动将公钥写入服务端~/.ssh/authorized_keys文件
3. 直接免密登录测试
ssh root@192.168.10.100无需输入密码,直接进入远程终端,配置完成。
三、手动配置免密(ssh-copy-id失效时备用方案)
# 1. 查看本地公钥 cat ~/.ssh/id_rsa.pub # 2. 复制全部公钥内容,追加到远程服务器授权文件 vim ~/.ssh/authorized_keys # 3. 授权关键权限(权限不对免密直接失效) chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys四、免密登录常见失效原因(90%故障根源)
.ssh目录和密钥文件权限过大:目录必须700,密钥文件必须600
服务器防火墙拦截22端口
SELinux安全机制拦截密钥校验
目标服务器用户名不一致
五、拓展:远程免密执行命令、免密文件传输
# 免密远程执行命令 ssh 192.168.10.100 df -h # 免密scp传输文件 scp test.txt 192.168.10.100:/opt/六、面试高频考点
免密登录依靠公私钥配对,私钥不可泄露;免密单向生效,A免密登录B,B不能自动免密登录A,双向免密需要反向再配置一次。
