一、主要远程登录方式概览
| 方式 | 全称 | 简介 | 适用场景 |
|---|---|---|---|
| SSH | Secure Shell | 最常用、最安全的加密协议,通过命令行登录。 | 绝大多数情况下的首选,用于服务器管理、文件传输等。 |
| Telnet | Telecommunication Network | 古老的明文传输协议,非常不安全。 | 仅用于测试或内部封闭网络,生产环境严禁使用。 |
| VNC | Virtual Network Computing | 图形化界面远程桌面。 | 需要操作图形化界面(GUI)时。 |
| RDP | Remote Desktop Protocol | 微软开发的图形化协议,Linux 需安装服务端。 | 从 Windows 系统远程连接 Linux 桌面(需GUI)。 |
核心结论:对于绝大多数命令行操作,请始终使用 SSH。
二、SSH - 最核心的远程登录方式
1. 基础用法
命令格式:
ssh [选项] [用户名]@[主机地址] -p [端口号]
示例:
-
使用默认端口 22 登录:
ssh root@192.168.1.100 -
使用自定义端口(如 2222)登录:
ssh root@192.168.1.100 -p 2222 -
使用当前本地用户名登录远程机(假设远程也有同名用户):
ssh 192.168.1.100
首次连接时 ,会看到如下提示,输入 yes 即可将远程主机的指纹存入本地的 ~/.ssh/known_hosts 文件。
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
2. 服务端配置(目标 Linux 机器)
通常,SSH 服务端(sshd)默认已安装。如需检查或配置:
-
安装 SSH 服务端(Debian/Ubuntu):
sudo apt update && sudo apt install openssh-server(CentOS/RHEL/Fedora):
sudo yum install openssh-server # 或 sudo dnf install openssh-server -
启动并设置开机自启:
sudo systemctl enable ssh # Ubuntu/Debian 服务名可能是 ssh 或 sshd sudo systemctl start ssh sudo systemctl enable sshd # CentOS/RHEL/Fedora sudo systemctl start sshd -
重要配置文件 :
/etc/ssh/sshd_config修改后需重启服务
sudo systemctl restart sshd。- 更改默认端口 (增强安全):
Port 2222 - 禁止 root 用户直接登录 :
PermitRootLogin no - 仅允许特定用户登录 :
AllowUsers username1 username2 - 禁用密码登录,仅用密钥 :
PasswordAuthentication no
- 更改默认端口 (增强安全):
3. 客户端配置(您的机器)
A. 使用密码认证
- 如上文"基础用法"所示,每次输入密码即可。
B. 使用密钥对认证(推荐,更安全、更方便)
-
在客户端生成密钥对(如果还没有):
ssh-keygen -t ed25519 -C "your_email@example.com" # 或使用 RSA: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"按提示选择保存路径(默认
~/.ssh/id_ed25519)和设置密钥密码(可为空)。 -
将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@192.168.1.100 -p 22如果
ssh-copy-id不可用,可以手动将公钥内容追加到服务器的~/.ssh/authorized_keys文件中。 -
现在登录将无需输入用户密码(如果设置了密钥密码,只需输入一次)。
三、其他登录方式简介
1. Telnet(了解即可,切勿在生产环境使用)
-
服务端安装 :
# Ubuntu/Debian sudo apt install telnetd # CentOS/RHEL sudo yum install telnet-server -
客户端连接 :
telnet 192.168.1.100警告:所有通信(包括密码)都是明文的,极易被窃听。
2. VNC(图形化界面)
- 服务端 : 需安装
vino(GNOME) 或x11vnc等软件。 - 客户端: 使用 RealVNC, TigerVNC, TightVNC 等客户端软件连接。
- 通常配置较复杂,需要设置显示号和密码。
3. 使用现代化工具(推荐用于管理多台服务器)
- MobaXterm (Windows): 集成了 SSH, X11, 文件传输等功能。
- Termius (跨平台): 界面美观,支持团队协作。
- Finalshell (国产): 功能强大,带资源监控面板。
四、快速开始检查清单
假设您要登录到 IP 为 192.168.1.100 的 Linux 服务器,用户名为 admin。
-
网络连通性 : 确保你的电脑能
ping通目标服务器。ping 192.168.1.100 -
服务端检查: 确保目标服务器的 SSH 服务正在运行。
# 在目标服务器上执行 sudo systemctl status ssh -
客户端连接:
ssh admin@192.168.1.100输入用户
admin的密码。 -
(可选)配置密钥登录:
- 在您的电脑上生成密钥对。
- 使用
ssh-copy-id上传公钥。 - 再次登录体验无密码连接。
五、安全建议
- 禁用 root 登录 : 创建普通用户,用
sudo提权。 - 使用密钥替代密码: 密钥比密码更难破解。
- 修改默认 SSH 端口: 减少自动化攻击脚本的骚扰。
- ** Fail2ban**: 安装 fail2ban 工具,自动封锁多次尝试失败 IP。
- 保持更新: 及时更新 SSH 软件包以修复安全漏洞。