Win11 SSH 免密登录配置指南
最近在弄博客部署到Linux服务器时每次 SSH 登录都要输入密码很麻烦 本文教你如何配置 SSH 密钥认证,实现免密登录
生成 SSH 密钥
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""参数解析: -t rsa
-b 4096:指定密钥长度为 4096 位。数字越大越安全(默认是 2048,但我们直接拉满,安全感拉满!)。 -f ~/.ssh/id_rsa:指定生成的私钥文件保存路径和名字。这里会生成两个文件: ~/.ssh/id_rsa(私钥,千万别泄露!) ~/.ssh/id_rsa.pub(公钥,可以随便给) -N "":设置私钥的密码(passphrase)为空。如果你设了密码,每次用私钥时还得再输一次密码——那就违背“免密”初衷了!所以这里留空,直接回车也行。
上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@your-server-ipssh-copy-id:专门将密钥添加到服务器的命令
-i ~/.ssh/id_rsa.pub:上传的公钥文件路径
root@your-server-ip:目标服务器的登录登录用户和服务器IP或者域名
测试登录
ssh root@your-server echo 'SSH 免密登录测试成功!' && whoami && hostname如果看到类似输出*SSH 免密登录测试成功!*和账户名称主机名称即代表SSH免密登录设置成功!
SSH 免密登录测试成功!
root
my-awesome-server提示!!!
- 权限很重要! 服务器上的
/.ssh 目录权限必须是 700,/.ssh/authorized_keys 文件权限必须是 600。否则 SSH 出于安全考虑会直接拒绝使用密钥!
# (如果遇到权限问题)就在服务器上执行
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys注意私钥不要泄露!(私钥==密码) 把你的 id_rsa(私钥)文件安全地拷贝到新电脑的 ~/.ssh/ 目录下即可。但千万注意:私钥 = 密码,不要上传到 GitHub!
连接多台服务器? 你可以把同一个公钥发给多台你需要连接的服务器上
使用
ssh-copy-id多跑几次就行,或者手动复制id_rsa.pub内容追加到各服务器的authorized_keys里
参考资料:
