在 Ubuntu 上开启远程 SSH 访问,可以按照以下步骤操作:
1. 安装 OpenSSH 服务器
如果你的 Ubuntu 没有安装 OpenSSH
,先安装它:
bash
复制编辑
sudo apt update sudo apt install -y openssh-server
2. 启动并启用 SSH 服务
安装完成后,启动 SSH 服务:
bash
复制编辑
sudo systemctl start ssh
设置开机自启:
bash
复制编辑
sudo systemctl enable ssh
检查 SSH 是否运行:
bash
复制编辑
sudo systemctl status ssh
如果看到 active (running)
说明 SSH 服务已经启动。
3. 开放 SSH 端口(默认 22 端口)
如果你的系统启用了防火墙 ufw
,需要放行 SSH 端口:
bash
复制编辑
sudo ufw allow 22/tcp sudo ufw reload
然后检查规则是否生效:
bash
复制编辑
sudo ufw status
如果你使用了非默认端口(如 2222),请修改 22
为你的端口号:
bash
复制编辑
sudo ufw allow 2222/tcp
4. 修改 SSH 配置(可选)
你可以修改 SSH 配置文件 /etc/ssh/sshd_config
来增强安全性:
bash
复制编辑
sudo nano /etc/ssh/sshd_config
建议修改:
更改默认端口(避免被扫描):
bash
复制编辑
Port 2222
禁止 root 远程登录(提高安全性):
bash
复制编辑
PermitRootLogin no
允许指定用户登录:
bash
复制编辑
AllowUsers youruser
修改后,保存文件(Ctrl + X
,然后 Y
,回车)。
5. 重启 SSH 服务
每次修改 sshd_config
后,需要重启 SSH:
bash
复制编辑
sudo systemctl restart ssh
6. 远程连接 Ubuntu
在远程客户端(如 Windows 的 CMD/Powershell 或 Linux/macOS 终端)使用:
bash
复制编辑
ssh 用户名@Ubuntu服务器IP
如果你更改了端口,例如 2222
:
bash
复制编辑
ssh -p 2222 用户名@Ubuntu服务器IP
7. 查看 SSH 连接情况
查看 SSH 监听端口:
bash
复制编辑
sudo netstat -tulnp | grep ssh
查看 SSH 登录用户:
bash
复制编辑
who
允许 root 登录
在 Ubuntu 系统中,默认情况下,root 用户是禁用的。为了允许 root
用户登录,你需要进行以下几步:
1. 设置 root 密码
首先,你需要设置 root
用户的密码。如果没有设置密码,root
用户无法登录。打开终端并运行以下命令:
bash
复制编辑
sudo passwd root
系统会提示你输入新的密码。输入密码并确认。设置成功后,root
用户就会有一个密码。
2. 启用 root 登录(SSH)
如果你希望允许通过 SSH 登录 root
用户,你需要修改 SSH 配置文件。
步骤 1:编辑 SSH 配置文件
bash
复制编辑
sudo nano /etc/ssh/sshd_config
步骤 2:修改 PermitRootLogin
配置
找到以下行:
bash
复制编辑
#PermitRootLogin prohibit-password
将其修改为:
nginx
复制编辑
PermitRootLogin yes
如果这一行没有被注释掉(没有 #
),直接修改它为 yes
。如果被注释掉,取消注释并将其改为 yes
。
步骤 3:重启 SSH 服务
保存并退出编辑器后,重新启动 SSH 服务以使配置生效:
bash
复制编辑
sudo systemctl restart ssh
3. 允许 root 用户直接登录
如果你希望在本地终端允许 root
用户直接登录,也可以修改 tty
配置。
步骤 1:编辑 /etc/pam.d/login
bash
复制编辑
sudo nano /etc/pam.d/login
步骤 2:查找并注释掉以下行
找到并注释掉如下行:
swift
复制编辑
auth required pam_securetty.so
注释的方式是将行首的 #
去掉。
保存并退出。
4. 确认修改
现在你可以通过以下命令确认 root
用户是否可以登录:
bash
复制编辑
su - root
如果系统提示你输入 root
密码,并且可以成功登录,说明已经启用。
5. 安全建议
请注意,启用 root
用户登录会使系统的安全性降低,特别是在允许通过 SSH 进行 root
登录时。为提高安全性,建议:
禁用不必要的 SSH 端口访问。
使用密钥认证替代密码登录。
使用
sudo
而非直接登录root
用户。
如果你对安全性有任何疑虑,或者不确定是否要启用 root
登录,建议采取谨慎的做法。
如果有任何问题,或者需要进一步帮助,随时告诉我!
总结
这样,你的 Ubuntu 服务器就可以通过 SSH 远程管理了!如果有问题,欢迎随时问我。 😊