在Linux系统上配置SSH远程连接的步骤如下:
1. 安装OpenSSH服务器
-
Debian/Ubuntu:
sudo apt update sudo apt install openssh-server
-
CentOS/RHEL/Fedora:
sudo yum install openssh-server # CentOS/RHEL sudo dnf install openssh-server # Fedora
2. 启动SSH服务并设置开机自启
sudo systemctl start ssh # Debian/Ubuntu(服务名可能为ssh) sudo systemctl enable ssh # 或使用sshd(如CentOS)
-
验证服务状态:
sudo systemctl status ssh
3. 配置SSH服务端
编辑配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
-
常用配置项:
ini
Port 2222 # 修改默认端口(可选,建议避免使用22) PermitRootLogin no # 禁止root远程登录(推荐) PasswordAuthentication no # 禁用密码登录(需提前配置密钥) AllowUsers your_username # 仅允许特定用户登录
-
保存后重启服务:
sudo systemctl restart ssh
4. 配置防火墙
-
UFW(Ubuntu/Debian):
sudo ufw allow 2222/tcp # 如果修改了端口 sudo ufw enable
-
Firewalld(CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
5. 处理SELinux(仅限CentOS/RHEL)
若修改了SSH端口,需更新SELinux策略:
sudo yum install policycoreutils-python-utils sudo semanage port -a -t ssh_port_t -p tcp 2222 sudo restorecon -Rv /etc/ssh
6. 配置SSH密钥认证(推荐)
-
生成密钥对(客户端操作):
ssh-keygen -t ed25519 # 或使用RSA:ssh-keygen -t rsa -b 4096
-
将公钥上传到服务器:
ssh-copy-id -p 2222 your_username@server_ip
-
若手动操作,将公钥内容追加到服务器的
~/.ssh/authorized_keys
,并确保权限:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
-
7. 测试连接
ssh -p 2222 your_username@server_ip
-
启用调试模式(若失败):
ssh -v -p 2222 your_username@server_ip
注意事项
-
安全性:
-
优先使用密钥认证,禁用密码登录。
-
避免使用默认端口22,减少暴力破解风险。
-
-
备份配置:
-
修改
sshd_config
前备份:sudo cp /etc/ssh/sshd_config{,.bak}
-
-
保持现有连接:
-
配置时确保有其他活跃会话,避免因配置错误导致失联。
-
完成以上步骤后,即可通过SSH安全地远程连接到Linux服务器。