用 SSH 密钥登录服务器:免密码、更安全的新手做法
用 SSH 密钥登录服务器:免密码、更安全的新手做法
每次登录服务器都要输密码,输错几次还会被锁,时间久了还容易在公共网络上被反复试探。SSH 密钥登录解决的正是这个问题:你在自己电脑上生成一对密钥,把公钥放到服务器上,私钥只留在自己手里,登录时两边自动核对,不用再输密码,别人拿到密码也登不进来。
先理解一个关系:密钥是一对,公钥可以公开,私钥绝不能外泄。公钥相当于一把能公开的锁,私钥是唯一能开这把锁的钥匙。服务器上只放公钥,登录时服务器发一个挑战,你的电脑用私钥算出答案,服务器用公钥验证通过就放行,整个过程私钥本身从不经过网络。
上手只要三步。第一步,在自己电脑上执行 ssh-keygen -t ed25519 生成密钥对,一路回车用默认路径即可,生成后会在家目录的 .ssh 下得到 id_ed25519 和 id_ed25519.pub 两个文件。第二步,把公钥复制到服务器上,用 ssh-copy-id 用户名@服务器地址 一条命令就能完成,它会自动把公钥追加到服务器的 ~/.ssh/authorized_keys 里。第三步,再登录一次试试,这次应该直接进去不用输密码,如果还要求输密码,先检查服务器上 .ssh 目录的权限是不是 700、authorized_keys 是不是 600,权限太松会被 SSH 直接拒绝。
新手最容易踩的坑有三个。第一,私钥不要发给别人,也不要传到网盘和聊天记录里,一旦泄露就要立刻在服务器上删掉对应的公钥并重新生成一对。第二,不要为了图省事把私钥设成无口令还到处复制,电脑丢了就等于服务器钥匙丢了,给私钥加个口令是多一层保险。第三,换电脑后不要只复制私钥就完事,先确认新电脑上的公钥已经放到服务器上,再删旧电脑里的私钥,避免出现新电脑登不上、旧电脑还能登的混乱。
养成一个习惯就够了:每台常登录的服务器都用密钥登录,密码登录只留作最后的备用入口,平时能关就关掉。这样下次登录,你就不用再翻密码本,只需要确认钥匙还在自己手里。
- 点赞
- 收藏
- 关注作者
评论(0)