SSH 免密登录三步配置:从 ssh-keygen 到 authorized_keys
每次 ssh 都输密码既麻烦也不够安全,密码还可能被暴力猜测。SSH 密钥登录配好之后一条命令直连,scp、git 远程仓也一并免密,是每个开发者的必修课。
一、生成密钥对
本机执行 ssh-keygen -t ed25519 -C your_email,一路回车即可。ed25519 比 RSA 更快更安全;-C 只是备注。生成后 ~/.ssh/ 下有两个文件:id_ed25519 是私钥(绝不外传),id_ed25519.pub 是公钥(随便给)。
二、把公钥装到服务器
一条命令搞定:ssh-copy-id user@server,它会把公钥追加进服务器的 ~/.ssh/authorized_keys。没有这个命令就手动:cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"。注意服务器上 .ssh 目录权限必须是 700,authorized_keys 是 600,权限错了密钥登录会静默失效。
三、验证与配置别名
ssh user@server 试一下,不问密码就成功了。在 ~/.ssh/config 里加一段 Host myserver / HostName 1.2.3.4 / User deploy,以后直接 ssh myserver 就能连,scp、rsync 同样生效。
两个常见坑:一是私钥权限太开放会被拒绝,chmod 600 私钥即可;二是想对多台服务器免密,重复第二步就行,一套密钥可以装到任意多台机器。配好之后记得给私钥设个 passphrase,安全性和便利性兼得。
- 点赞
- 收藏
- 关注作者
评论(0)