Linux云服务器远程登录最常用的方式是SSH命令,Windows用户推荐Xshell,Mac用户直接用自带终端,手机端推荐Termius,核心操作就是用密钥免密登录替代密码登录。
远程登录前的准备工作
拿到服务器IP和端口后的第一件事
云服务商(简米云、酷番云、华为云)在控制台创建实例后,会给你公网IP、root用户名、初始密码或密钥对,登录前需要确认安全组规则,默认情况下SSH端口22必须放行,否则客户端连不上服务器。
- 登录云厂商控制台,找到”安全组”或”防火墙”入口
- 添加入站规则,协议选TCP,端口填22,来源建议填你当前出口IP
- 如果你在家里和公司都登录,来源IP可以填两个或多个,也可以填0.0.0.0/0方便但风险更高
Windows电脑怎么快速连接
Windows 10以上系统自带OpenSSH客户端,打开PowerShell或CMD直接敲命令就能连:
ssh root@你的公网IP
但内置终端粘贴路径时容易出幺蛾子,日常维护更推荐装个专用工具。Xshell个人版免费,PuTTY轻量但界面简陋,MobaXterm内置文件管理器适合新手,下载时认准官网,别在第三方下载站随便点,镜像捆绑安装包是常态。
Mac和手机端怎么登录
Mac自带的Terminal直接支持SSH,不需要额外装客户端,手机端用得最多的是Termius,iOS和Android都有,免费版够管理三五台机器,操作路径和电脑端一样,只是小屏敲命令费劲,临时处理告警用得上。
用密码登录还是用密钥登录
密码登录的适用场景
临时试机器、一次性开箱验收、没有本地生成密钥条件的场景下,密码登录最省事,简米云和酷番云的初始密码在控制台重置密码按钮那里设置,重置后需要重启实例才生效。
密钥登录的安全性对比
行业共识认为密钥登录是目前最安全的远程认证方式。密码登录面临暴力破解的风险,密钥对的私钥在本地生成,公钥上传到服务器,相当于拿实体钥匙开门,比输门锁密码安全得多,据统计,公网服务器开启密码登录的话,平均每天都会被数百次扫描爆破。
密钥登录的完整配置步骤
先在本地生成密钥对,再上传公钥到服务器,最后禁用密码登录,以Windows为例:
- 在本地PowerShell执行
ssh-keygen -t rsa -b 4096,一路回车即可 - 生成的文件默认在
C:\Users\你的用户名\.ssh\目录下,id_rsa是私钥,id_rsa.pub是公钥 - 复制,登录服务器执行
mkdir -p ~/.ssh && chmod 700 ~/.ssh - 执行
echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys - 修改权限:
chmod 600 ~/.ssh/authorized_keys - 测试密钥登录成功后,编辑
/etc/ssh/sshd_config,找到PasswordAuthentication改为no - 重启SSH服务:
systemctl restart sshd(CentOS/RHEL系),Ubuntu系是systemctl restart ssh,注意两者服务名不同
如何修改linux云服务器远程登录端口
把SSH默认的22端口改成高位端口,能直接过滤掉绝大多数扫描脚本,操作步骤:
- 编辑配置文件:
vim /etc/ssh/sshd_config - 找到
#Port 22这一行,去掉注释,改成Port 具体端口号,比如Port 22026 - 先别关原来的会话,另开一个窗口用新端口测试连接
- 确认新端口能登录后再彻底修改安全组规则,放行新端口,删除旧端口
换端口前一定记得先放行安全组的入方向规则,要不然改完直接断连,只能去云控制台用VNC救援模式改回来,这个坑很多人踩过。
登录报错排查的常用手段
密钥权限报错
连接时提示Permissions 0644 for 'xxx.pem' are too open,这是Windows常见的坑,解决方法是:
- 右键私钥文件,选择”属性”
- 点击”安全”标签,删掉所有用户,只保留当前用户
- 点击”高级”,禁用继承,然后添加当前用户并勾选”完全控制”
- 应用后重新连接
连接超时和拒绝连接的区别
Connection timed out说明网络不通,优先查安全组、防火墙、IP是否被封。Connection refused说明SSH服务没起来,登录云控制台VNC检查sshd进程是否在跑,或者端口改过没放行。
云厂商VNC和救援模式
所有主流云厂商都提供网页版VNC登录,相当于云服务器的带外管理通道。网卡配置错了、SSH配置改坏了、系统内核出问题,都能通过VNC进去修复,使用方式一般在云控制台实例列表的”远程连接”下拉菜单里。
常见SSH客户端连接对比表格
| 客户端 | 适用系统 | 核心优势 | 适合人群 |
|---|---|---|---|
| Xshell | Windows | 标签管理方便,个人版免费 | 日常运维主力用户 |
| Termius | Win/Mac/iOS/Android | 全平台同步,手机上好用 | 需要手机应急的用户 |
| MobaXterm | Windows | 内置SFTP文件管理,会话配色舒服 | 新手和文件交互频繁的用户 |
| PuTTY | Windows | 体量小无需安装 | 临时应急的用户 |
| 自带Terminal | Mac/Linux | 原生支持零配置 | 不想装额外工具的用户 |
登录后的基础安全设置还有哪些
禁用root直接登录
给普通用户开sudo权限,配合密钥登录,可以有效降低安全管理风险,编辑/etc/ssh/sshd_config,找到PermitRootLogin改成no,重启SSH服务生效,日常操作用普通账号,需要管理员权限时执行sudo -i切换。
用Fail2ban处理暴力破解
Fail2ban会扫描日志,发现某个IP尝试登录失败的次数达到阈值就封禁一段时间,是低成本防爆破的常见手段,安装方式:
yum install epel-release -y && yum install fail2ban -y
或者Ubuntu系:
apt-get install fail2ban -y
默认配置就可以使用,日志路径在/var/log/fail2ban.log,封禁的IP可以解封:fail2ban-client set sshd unbanip IP地址。
登录参数优化小细节
关闭DNS反向解析
SSH登录慢、连上去输密码要等半天,通常是因为服务器在做DNS反向解析,编辑/etc/ssh/sshd_config,把UseDNS改成no,重启SSH服务即可,连接速度立竿见影。
保持长连接不断线
客户端(比如Xshell)里设置keepalive,每隔30秒发送心跳包,这样临时离开工位回来,会话不会因为超时断开,Xshell路径是:会话属性 → 连接 → 保持活动状态,填30即可。
Linux云服务器远程登录的底层逻辑并不复杂,核心是把认证方式切到密钥、把端口换掉、保持安全组精细化控制,Windows电脑用Xshell,Mac用自带终端,手机应急用Termius,这三套方案覆盖了绝大多数使用场景,记住一句话:先改密钥,再动端口,最后关密码,三层做完再暴露公网,比裸奔安全得多。
常见问题解答
linux云服务器远程登录怎么弄最省事?
买完服务器先把密钥登录配好,Windows用户装Xshell生成密钥对,把公钥填到云控制台或authorized_keys文件里,平时双击会话直接进系统,不用输密码。
为什么我改了端口之后就连接不上了?
大概率是安全组没放行新端口,去云控制台安全组入方向添加新端口的TCP规则,再用VNC登录服务器确认sshd配置没写错,最后检查服务器本地firewalld或iptables是否拦截了新端口。
密钥文件可以复制给别人用吗?
公钥可以随便分发,私钥必须自己保留好。私钥丢失相当于房子的钥匙丢了,唯一的补救办法是重新生成密钥对并替换服务器的authorized_keys文件,密码可以改,私钥泄密的后果比密码泄露更可控,前提是你发现得早。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/790175.html


![[5分钟学linux] 4-使用xshell7通过密钥对的方式远程连接阿里云ecs云服务器](https://i1.hdslb.com/bfs/archive/f4a0c16d8b4927c03c4830bb59f24bd4d8fccbfb.jpg)