SSH 密钥登录:告别密码,服务器登录更安全也更省事
每天登录服务器都要输一遍密码,输错了重来,换电脑又要重新记。如果你也觉得烦,SSH 密钥登录就是为你准备的:私钥留在自己的电脑上,公钥放到服务器上,登录时双方自动核对,通过就直接进系统,不用再记密码。
一、密钥登录为什么更安全
密码可以被猜、被撞库、被钓鱼,只要足够简单或多处重复使用,攻击者总有办法试出来。密钥则不同:一对 2048 位以上的 RSA 密钥或更短的 Ed25519 密钥,暴力破解在现实中几乎不可能。更关键的是,私钥从不离开你的电脑,登录时传输的只是签名结果,即使流量被截获,对方也拿不到私钥。服务器上没有密码可供比对,撞库也就无从下手。
二、三步配好密钥登录
第一步,在自己的电脑上生成密钥对。打开终端,执行 ssh-keygen -t ed25519 -C "你的邮箱",一路回车即可。命令会在 ~/.ssh 目录下生成两个文件:id_ed25519 是私钥,千万不要发给任何人;id_ed25519.pub 是公钥,可以公开。
第二步,把公钥传到服务器。执行 ssh-copy-id 用户名@服务器地址,它会自动把公钥追加到服务器 ~/.ssh/authorized_keys 里,并处理好目录权限。手动添加也可以,记得把 .ssh 目录权限设为 700,authorized_keys 设为 600,权限太宽松时 SSH 会拒绝使用密钥。
第三步,测试登录。执行 ssh 用户名@服务器地址,如果直接进入系统而没有要求输入密码,就说明配置成功了。
三、顺手做好的两个收尾动作
配好密钥之后,建议关掉服务器的密码登录,否则攻击者仍可以继续爆破密码。编辑 /etc/ssh/sshd_config,把 PasswordAuthentication 改为 no,保存后重启 sshd。改之前务必确认密钥登录已经可用,并留一个已登录的终端窗口备用,免得把自己锁在门外。
另外,给私钥加个口令是个好习惯:每次使用私钥时输入一次,配合 ssh-agent 记住口令,日常几乎没有额外负担,电脑丢了也不怕别人直接拿走私钥登录。
四、新电脑怎么接手
换电脑时,把旧电脑 ~/.ssh 下的私钥文件安全地拷到新电脑相同位置,权限设为 600,就能继续使用。更稳妥的做法是为每台电脑各生成一对密钥,公钥都加进 authorized_keys,某台电脑不用了就单独删除对应的公钥。
小结
密钥登录就是把“你知道什么”(密码)换成“你拥有什么”(私钥)。一次配置,之后每次登录都是一条命令的事,既省去了输密码的麻烦,也堵住了爆破和撞库的口子。如果你还在每天输密码登录服务器,不妨花十分钟换成密钥登录。
- 点赞
- 收藏
- 关注作者
评论(0)