SSH 远程登录入门:从第一次连接到密钥免密
远程管理一台云服务器,第一步几乎都是 SSH。它是 Secure Shell 的缩写,负责在本地电脑和服务器之间建立一条加密通道:你在终端里敲的命令、服务器返回的结果,都经过加密传输。学会 SSH,就等于拿到了远程服务器的钥匙。
一、SSH 是什么
SSH 默认走 22 端口。连接建立时,客户端和服务器先协商加密算法、交换密钥,随后验证身份,验证通过后你就像坐在服务器键盘前一样操作。整个过程对中间网络是不可见的,这也是它比明文远程方式安全的原因。
二、第一次连接
准备好三样东西:服务器地址、用户名、密码或密钥。本地终端执行:
ssh 用户名@服务器地址
第一次连接时,系统会提示确认服务器指纹(fingerprint),这是服务器的身份标识。核对无误输入 yes 继续,然后输入密码,看到命令提示符就说明登录成功了。结束时输入 exit 退出。
提醒一句:指纹确认不是走过场。第一次连接时请通过控制台或服务商页面核对指纹,确认无误再接受,这是防止中间人攻击的关键一步。
三、从密码登录升级到密钥登录
密码登录简单,但密码可能被暴力破解。更推荐的做法是密钥登录:生成一对公钥和私钥,私钥留给自己、保存在本地,公钥放到服务器上。登录时服务器用公钥验证你手里的私钥,匹配就放行,全程不用传密码。
生成密钥:
ssh-keygen -t ed25519 -C "我的开发机"
上传公钥到服务器:
ssh-copy-id 用户名@服务器地址
配置好后,再次用 ssh 连接就不再需要输入密码。私钥的安全完全由你负责:给私钥设置口令,不要把它发给任何人,也不要提交到公开代码仓库;一旦私钥泄露,要立刻在服务器上删除对应的公钥并重新生成。
四、让连接更顺手的配置
经常连同一台服务器时,可以在本地写一个配置文件 ~/.ssh/config,给主机起一个简短的别名:
Host 我的服务器
HostName 服务器地址
User 用户名
Port 22
IdentityFile ~/.ssh/id_ed25519
之后只需要输入 ssh 我的服务器 就能连接,省去了每次敲地址和用户名的麻烦。
如果网络空闲容易断开,可以加上 ServerAliveInterval 60,让客户端定期发送心跳保持连接。连接失败时,先检查本机网络和云服务商安全组是否放行了 22 端口,再检查服务器上的 SSH 服务是否正常运行。
五、养成好的安全习惯
禁用 root 账号密码登录,改用普通账号加密钥登录;定期轮换密钥和口令;不用的授权及时清理;服务器系统和 SSH 服务保持更新。
SSH 看似只是一个命令,背后却是远程运维的整套安全思路:加密传输、身份验证、最小权限。从第一次连接开始,把密钥登录和好习惯用起来,你的服务器会安全得多。
- 点赞
- 收藏
- 关注作者
评论(0)