远程服务器免密登录设置,三步搞定永久免输密码!三步轻松实现远程服务器永久免密登录配置

? ​​一、免密登录原理:为什么比密码安全10倍?​
“每次连服务器都要输密码,烦 *** 了!”——别急,​​密钥验证​​才是终极解法!

  • ​传统密码登录​​:密码传输可能被截获,暴力破解风险高;
  • ​密钥登录​​:
    • ? ​​本地生成密钥对​​:私钥(自己保管) + 公钥(丢到服务器);
    • ✅ ​​匹配验证​​:服务器用公钥加密随机数,只有私钥能解开——​​黑客拿不到私钥永远进不去​​!

? ​​我的观点​​:
用密码登录像把家门钥匙藏在脚垫下,而​​密钥登录等于装了指纹锁​​——安全等级根本不在一个维度!


⚡ ​​二、三步极简操作:小白也能5分钟搞定​
​血泪教训​​:90%失败都因漏了权限配置!完整流程如下?

远程服务器免密登录设置,三步搞定永久免输密码!三步轻松实现远程服务器永久免密登录配置  第1张

​Step 1️⃣ 生成密钥对(本地操作)​

bash复制
ssh-keygen -t rsa -b 4096  
  • 狂敲三次回车(​​别设密码!否则又要输密码​​);
  • 生成位置:~/.ssh/id_rsa(私钥) + ~/.ssh/id_rsa.pub(公钥)。

​Step 2️⃣ 公钥上传服务器(致命细节!)​

bash复制
ssh-copy-id -i ~/.ssh/id_rsa.pub user@服务器IP  
  • ✅ 成功提示:Number of key(s) added: 1
  • ❌ 报错?手动救急:
    bash复制
    # 登录服务器后执行  mkdir -p ~/.sshecho "你的公钥内容" >> ~/.ssh/authorized_keys  

​Step 3️⃣ 权限核验(99%教程漏了这步!)​

bash复制
chmod 700 ~/.ssh              # 文件夹权限  chmod 600 ~/.ssh/authorized_keys  # 文件权限  

⚠️ ​​权限不对=前功尽弃​​!服务器会拒绝连接。


? ​​三、避坑指南:连不上的三大元凶​
自测方法+解决方案,对症下药:

故障现象自查命令解决方案
​Permission denied​ls -ld ~/.ssh执行Step 3权限修复
​No such file​cat /etc/ssh/sshd_config检查PubkeyAuthentication是否为yes
​连接超时​ping 服务器IP关闭防火墙:sudo ufw disable

? ​​独家技巧​​:
ssh -v user@IP查看详细报错——​​最后三行日志往往藏着真相​​!


? ​​四、高阶玩法:一键登录多台服务器​
配置~/.ssh/config文件,告别IP记忆:

复制
Host my-serverHostName 192.168.1.100User rootIdentityFile ~/.ssh/id_rsa  # 指定私钥路径  

✅ 直接运行ssh my-server秒连!
✅ ​​文件传输超省力​​:

bash复制
scp myfile.txt my-server:/home/  # 无需重复输IP!  

? ​​效率暴增​​:
管理50台服务器?用这招​​省下90%敲命令时间​​!


? ​​五、安全强化:私钥防护终极策略​
免密≠无风险!​​私钥泄露=服务器裸奔​​:

  • ​加密私钥​​:ssh-keygen -p -f ~/.ssh/id_rsa → 添加解密密码;
  • ​IP白名单​​:服务器端/etc/hosts.allow添加:
    复制
    sshd: 你的家用IP  
  • ​入侵警报​​:
    bash复制
    # 有陌生IP登录时邮件告警  echo "ALERT: SSH Login by $USER@$HOSTNAME" | mail -s "安全警报" 你的邮箱  

? ​​暴论时刻​​:
​觉得麻烦?想想服务器被挖矿时——​​ 修复成本够你配置100次密钥!