服务器操作系统liunx开启远程登录

在Linux服务器中,通过执行sudo systemctl start ssh启动SSH服务,sudo firewall-cmd --permanent --add-service=ssh开放防火墙端口,并设置开机自启sudo systemctl enable ssh

Linux服务器开启远程登录的核心步骤

确认远程登录协议

Linux服务器最常用的远程登录协议是 SSH(Secure Shell),它通过加密通道传输数据,安全性高,另一种旧协议 Telnet 因明文传输已被弃用,不建议使用。

服务器操作系统liunx开启远程登录

协议 端口 安全性 典型用途
SSH 22 高(加密) 远程管理、文件传输
Telnet 23 低(明文) 老旧系统调试(不推荐)

安装并启动SSH服务

不同Linux发行版安装SSH的命令略有差异:

  • Debian/Ubuntusudo apt install openssh-server
  • CentOS/RHELsudo yum install openssh-serversudo dnf install openssh-server
  • Fedorasudo dnf install openssh-server

安装完成后,启动并设置开机自启:

sudo systemctl start sshd      # 启动SSH服务
sudo systemctl enable sshd     # 设置开机自启

配置SSH服务

SSH的主配置文件是 /etc/ssh/sshd_config,常用配置项如下:
| 配置项 | 说明 | 默认值 |
|——————–|——————————————–|—————|
| Port | SSH服务监听端口 | 22 |
| PermitRootLogin | 是否允许root用户远程登录 | yes(风险高)|
| PasswordAuthentication | 是否启用密码认证 | yes |
| AllowUsers | 允许远程登录的用户名(按空格分隔) | 所有用户 |
| MaxAuthTries | 密码尝试次数 | 6次 |

修改示例

# 编辑配置文件
sudo nano /etc/ssh/sshd_config
# 修改配置(示例:禁用root登录,限制用户)
PermitRootLogin no
AllowUsers user1 user2

保存后重启SSH服务:sudo systemctl restart sshd

服务器操作系统liunx开启远程登录

防火墙配置

若服务器启用了防火墙(如 firewalldiptables),需开放SSH端口:

  • Firewalld
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
  • iptables
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo service iptables save

验证远程登录

在客户端使用SSH工具(如PuTTY、Xshell或终端)连接:

ssh username@server_ip

若出现 Connection refused,检查SSH服务状态和防火墙规则。


安全加固建议

  1. 禁用Root远程登录
    修改 PermitRootLogin no,改用普通用户登录后切换至root。
  2. 限制IP访问
    sshd_config 中添加 AllowUsers user1@192.168.1.100,仅允许指定IP登录。
  3. 密钥认证替代密码
    生成SSH密钥对(ssh-keygen),将公钥部署到服务器(~/.ssh/authorized_keys),关闭密码认证(PasswordAuthentication no)。
  4. 更改默认端口
    修改 Port 2222,同时更新防火墙规则,降低被扫描风险。

其他远程登录方式对比

工具/协议 优点 缺点
SSH 安全加密、广泛支持 需命令行操作
VNC/RDP 图形化远程桌面 性能消耗高、安全性依赖配置
Web终端(如Guacamole) 浏览器访问、无需客户端 依赖Web服务、配置复杂

常见问题排查

问题 原因及解决方案
连接超时 SSH服务未启动(systemctl status sshd
防火墙未开放端口(firewall-cmd --list-all
密码正确但无法登录 PermitRootLogin 设置为 no
用户被 DenyUsers 规则禁止
账户被锁定(/etc/shadow
端口被占用 修改SSH端口(如2222)
检查其他服务(如MySQL)是否占用端口(sudo netstat -tulpn

FAQs

Q1:为什么SSH连接时提示“Connection closed”?
A1:可能原因包括:

  • SSH服务未运行或崩溃(通过 journalctl -u sshd 查看日志)。
  • 防火墙规则未生效(重启防火墙服务 systemctl restart firewalld)。
  • 配置文件语法错误(检查 /etc/ssh/sshd_config 的语法)。

Q2:如何限制特定IP访问SSH?
A2:在 sshd_config 中添加:

服务器操作系统liunx开启远程登录

AllowUsers user1@192.168.1.100 user2@192.168.1.101
DenyUsers *@*.*.*.*  # 拒绝其他所有IP

或使用 firewalld 的富规则:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'

小编有话说

远程登录是服务器管理的基石,但安全风险也随之而来。切勿轻视基础安全配置

  1. 永远禁用Root直接登录,通过普通用户+sudo提升权限;
  2. 密钥认证比密码更安全,且能防暴力破解;
  3. 定期检查日志/var/log/auth.log),发现异常IP及时封禁。
    服务器安全的本质是“最小权限+多层

各位小伙伴们,我刚刚为大家分享了有关“服务器操作系统liunx开启远程登录”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-05-05 05:47
下一篇 2025-05-05 05:59

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信