云服务器运维笔记:SSH 密钥登录,配一次就不用再输密码
每天 SSH 登录服务器都要输密码,输烦了不说,光密码这一条就浑身是风险:太简单了怕被爆破,太复杂了自己记不住,贴在屏幕边上更不像话。
后来把密钥登录配上了,世界清净了。记一下流程,给有同样困扰的朋友。
先说原理,大白话版。密钥是一对:公钥和私钥。你把公钥放到服务器上,相当于在门上装了把锁;私钥留在自己电脑上,就是钥匙。登录的时候两边对一下,配得上就开门。全程不用输密码,别人就算知道你的 IP 和用户名,没钥匙也进不来。
第一步,在自己电脑上生成一对钥匙,推荐 ed25519 算法,命令就一行:
ssh-keygen -t ed25519 -f 专门的文件名
这里强烈建议用 -f 单独指定一个文件名,不要覆盖电脑上已有的钥匙——一台服务器一把专用钥匙,以后想撤销哪台就删哪台,互不影响。
第二步,把公钥送上服务器。先用密码登录最后一次,把公钥内容追加到服务器的 ~/.ssh/authorized_keys 文件末尾。注意是追加,往后面加一行,不是覆盖整个文件。手一抖把文件写空了,可能把原来能用的登录方式也弄没了。
第三步,也是最重要的一步:新开一个终端窗口,用钥匙试登录。确认能免密进去,再回头处理密码登录。这个顺序千万别反——先关密码、再发现钥匙没配好,就等于把自己锁在门外了,只能去云厂商控制台想办法捞自己。
确认钥匙好用之后,我一般会把 SSH 的密码登录关掉。这样一来,服务器密码强不强、是不是不小心露过,都不影响远程登录了,因为那条路已经堵死,只认钥匙。
还有两个小提醒。一个是私钥只留在自己电脑上,别往聊天里发、别往网盘里传,它就是钥匙本体,丢了等于把钥匙递给别人。另一个是 authorized_keys 里如果躺着不认识的公钥,趁早删掉,那可能是一把你早就忘了的“备用钥匙”,还配在锁上呢。
配一次也就十分钟,之后每天省心。安全这东西,往往不是买多贵的锁,而是把多余的门都关上。
- 点赞
- 收藏
- 关注作者
评论(0)