Ubuntu配置远程链接SSH
远程链接
VNC和SSH
VNC(Virtual Network Computing)和SSH(Secure Shell)都是用于远程访问计算机的协议,但它们有一些不同之处:
-
SSH(Secure Shell):
- SSH 是一种加密的网络协议,用于通过网络安全地连接到远程计算机。
- SSH 提供了一个命令行界面(CLI),允许用户在远程计算机上执行命令和管理文件。
- SSH 通常用于远程服务器管理和命令行访问,特别是在文本模式下,例如在服务器环境中。
-
VNC(Virtual Network Computing):
- VNC 是一种图形化桌面远程访问协议,允许用户远程查看和操作远程计算机上的图形化桌面。
- VNC 提供了远程计算机的完整图形化桌面体验,可以在远程计算机上执行所有与图形化用户界面相关的操作,包括打开应用程序、浏览文件和设置等。
- VNC 通常用于需要远程访问图形化界面的任务,例如远程技术支持、远程办公、演示等。
在实际应用中,根据具体需求,可以选择使用 SSH 还是 VNC 来进行远程访问。如果只需要在远程计算机上执行命令和管理文件,SSH 是一个更常见和方便的选择。如果需要在远程计算机上查看和操作图形化界面,则可以选择使用 VNC。
SSH连接
服务器端启用ssh服务
要在 Ubuntu 上启用 SSH 服务以便通过 SSH 远程连接,可以按照以下步骤进行设置:
-
安装 OpenSSH 服务器:
在终端中运行以下命令安装 OpenSSH 服务器:sudo apt update sudo apt install openssh-server
-
启动 SSH 服务:
安装完成后,SSH 服务将自动启动。你可以通过以下命令检查 SSH 服务的状态:sudo systemctl status ssh
如果服务正在运行,你将看到类似以下内容的输出:
● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-04-30 10:28:31 UTC; 1min 17s ago Process: 1252 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) Main PID: 1266 (sshd) Tasks: 1 (limit: 2346) Memory: 1.7M CGroup: /system.slice/ssh.service └─1266 /usr/sbin/sshd -D
-
配置防火墙(如果需要):
如果你的 Ubuntu 主机正在运行防火墙(如ufw
),确保允许 SSH 连接通过。你可以运行以下命令来允许 SSH 连接:sudo ufw allow ssh
-
确认 SSH 端口(可选):
默认情况下,SSH 服务器监听 22 端口。如果你修改了 SSH 端口,请确保使用正确的端口进行连接。 -
从远程主机连接:
现在,你应该能够从其他计算机或设备使用 SSH 连接到你的 Ubuntu 主机。在远程主机的终端或 SSH 客户端中,运行以下命令:ssh username@ubuntu_host_ip
其中
username
是你在 Ubuntu 主机上的用户名,ubuntu_host_ip
是 Ubuntu 主机的 IP 地址或主机名。 -
输入密码:
如果 SSH 服务配置为使用密码验证,连接时会提示输入密码。输入正确的密码后,你将会登录到 Ubuntu 主机的终端。
通过上述步骤,你就可以在 Ubuntu 上启用 SSH 服务,并使用 SSH 远程连接到该主机。
XShell远程链接
使用 Xshell 连接远程 Ubuntu 主机的步骤如下:
-
打开 Xshell:
在你的本地计算机上打开 Xshell 应用程序。 -
创建新会话:
点击 Xshell 工具栏上的 “文件” -> “新建” -> “会话”,或者直接按下 Ctrl + N 快捷键,以创建一个新的会话。 -
配置会话参数:
- 在 “会话” 对话框中,选择 “SSH” 作为连接协议。
- 在 “主机” 字段中输入远程 Ubuntu 主机的 IP 地址或主机名。
- 在 “端口” 字段中输入 SSH 服务运行的端口,默认为 22。
- 在 “用户身份验证” 部分,输入你在远程 Ubuntu 主机上的用户名。
- 可选:你可以在 “会话名” 字段中为此会话指定一个名称,以便稍后识别。
- 点击 “确定”。
-
输入密码:
如果远程 Ubuntu 主机要求密码验证,Xshell 会提示你输入密码。输入正确的密码后,按下回车键。 -
连接远程主机:
如果一切设置正确,Xshell 将会连接到远程 Ubuntu 主机。你现在可以在 Xshell 中执行命令了。 -
断开连接:
当完成后,可以关闭 Xshell 窗口来断开与远程主机的连接。
以上就是使用 Xshell 连接远程 Ubuntu 主机的基本步骤。确保你有正确的主机信息和凭据,并且已经允许通过 SSH 访问远程主机。
要修改 SSH 配置文件并理解常见的配置选项,可以按照以下步骤进行。后面还会附上配置选项的表格。
修改 SSH 配置文件
-
打开 SSH 配置文件
使用文本编辑器(如nano
或vi
)打开 SSH 配置文件:sudo nano /etc/ssh/sshd_config
-
修改配置
- 找到你想要修改的配置选项,例如
Port
、PermitRootLogin
等。 - 取消行首的
#
(注释符号),并根据需要进行修改。
- 找到你想要修改的配置选项,例如
-
保存并退出
- 在
nano
中按Ctrl + O
保存文件,按Enter
确认,然后按Ctrl + X
退出。 - 在
vi
中按Esc
,输入:wq
保存并退出。
- 在
-
重新启动 SSH 服务
每次修改 SSH 配置文件后,都需要重新启动 SSH 服务以应用更改:sudo systemctl restart ssh
-
验证 SSH 服务
检查 SSH 是否正常运行,确保新的配置生效:sudo systemctl status ssh
常见 SSH 配置选项及其含义
配置选项 | 含义 |
---|---|
Port | 指定 SSH 服务监听的端口号(默认是 22)。可改为其他端口以增强安全性。 |
PermitRootLogin | 是否允许 root 用户通过 SSH 登录。选项包括 yes , no , prohibit-password 。 |
PasswordAuthentication | 是否允许使用密码进行身份验证。yes 启用,no 禁用(仅使用公钥登录)。 |
PubkeyAuthentication | 是否允许使用公钥进行身份验证。默认为 yes 。 |
AllowUsers | 指定允许通过 SSH 登录的用户。格式为:AllowUsers user1 user2@IP 。 |
DenyUsers | 指定禁止通过 SSH 登录的用户。格式与 AllowUsers 相似。 |
AllowGroups | 指定允许通过 SSH 登录的用户组。 |
DenyGroups | 指定禁止通过 SSH 登录的用户组。 |
MaxAuthTries | 限制用户登录尝试失败的最大次数。默认是 6。 |
LoginGraceTime | 登录前允许用户输入密码的时间。格式如 1m (1 分钟),超时未输入则断开连接。 |
MaxSessions | 限制用户可以启动的最大会话数量。默认是 10。 |
X11Forwarding | 是否允许 X11 转发(图形界面转发)。yes 启用,no 禁用。 |
ClientAliveInterval | 指定服务器发送到客户端的保持活动包的时间间隔,以秒为单位。 |
ClientAliveCountMax | 客户端未响应的最大次数。超过此次数后,服务器断开连接。 |
PermitEmptyPasswords | 是否允许空密码的用户登录。默认是 no ,不建议改为 yes 。 |
Banner | 指定登录前显示的欢迎或警告消息的文件路径。 |
这些选项可以根据具体需求调整,从而增强服务器的安全性和灵活性。