l
白菜一颗
发布于 2025-03-24 / 10 阅读
0
0

Ubuntu 上开启远程 SSH 访问

在 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 登录,建议采取谨慎的做法。

如果有任何问题,或者需要进一步帮助,随时告诉我!

总结

操作

命令

安装 OpenSSH

sudo apt install -y openssh-server

启动 SSH 服务

sudo systemctl start ssh

设置开机自启

sudo systemctl enable ssh

开放防火墙端口

sudo ufw allow 22/tcp

修改 SSH 端口

sudo nano /etc/ssh/sshd_config

重启 SSH 服务

sudo systemctl restart ssh

远程连接

ssh 用户名@IP地址

这样,你的 Ubuntu 服务器就可以通过 SSH 远程管理了!如果有问题,欢迎随时问我。 😊


评论