SSH全称Secure Shell,是用于客户端和服务器之间安全连接的网络协议。 服务器与客户端之间的每次交互均被加密。

本教程介绍了如何在Ubuntu 20.04安装SSH服务器。启用SSH将使您可以远程连接到系统并执行管理任务。 您还可以通过scpsftp安全的传输文件。

默认情况下,首次安装Ubuntu时,不允许通过SSH进行远程访问。在Ubuntu安装SSH服务器非常简单。使用快捷键Ctrl+Alt+T打开终端。

以root或具有sudo权限的用户执行运行命令sudo apt update更新软包索引,然后安装openssh-server服务器,运行命令sudo apt install openssh-server

出现提示时,输入密码并按回车键Enter继续安装。安装完成后,openssh-server将作为systemd服务自动启动。

您可以运行命令sudo systemctl status openssh-server查看SSH服务的状态。输出应告诉您该服务正在运行并已启用,可以在系统引导时启动。

Ubuntu使用UFW的作为iptables防火墙配置工具。如果在ubuntu 20.04启用了防火墙,请确保打开SSH端口。sudo ufw allow ssh将会打开防火墙SSH端口22。

现在,您可以从任何远程计算机通过SSH连接到Ubuntu系统。Linux和macOS系统默认情况下已安装SSH客户端。

要从Windows计算机连接,请使用SSH客户端,例如PuTTY

sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh
sudo ufw allow ssh
● ssh.service - OpenBSD Secure Shell server
    Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
...

连接到SSH服务器

要通过LAN连接到Ubuntu计算机,请调用ssh命令,然后输入用户名和IP地址,例如命令ssh username@ip_address

username用户名是远程服务器的用户名称。ip_address是安装SSH服务器的Ubuntu计算机IP地址。

如果您不知道自己的IP地址,则可以运行ip命令ip a轻松找到它。例如我们的系统IP地址为10.0.2.15

找到IP地址后,可以运行ssh命令ssh myfreax@10.0.2.15登录到远程计算机。第一次连接时,您会看到消息Are you sure you want to continue connecting (yes/no)?。

询问你是否继续连接,输入yes,系统将会提示您输入密码。Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.。myfreax@10.0.2.15's password:

输入密码后,系统会为您提供默认的Ubuntu登录消息。您现在已登录到Ubuntu计算机。

ssh myfreax@10.0.2.15
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
Are you sure you want to continue connecting (yes/no)?yes

Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
myfreax@10.0.2.15's password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
...

SSH NAT穿透

要通过Internet连接到家用Ubuntu计算机,您需要知道您的家用Ubuntu计算机公网IP地址。

并将路由器配置为在端口22接受远程的连接,并将数据转发到运行SSH的服务器Ubuntu系统。

要确定家用Ubuntu计算机计算机的外网IP地址,只需访问https://api.ipify.org。获得家用计算机的IP地址。

在设置路由器的端口转发时,每个路由器都有不同的方式来设置端口转发。您应该查阅路由器文档,以了解如何设置端口转发。

简而言之,您需要输入接受远程连接的端口号,默认的SSH端口为22。和你本地家用Ubuntu计算机地址。找到IP地址并配置路由器的端口转发。

然后你可以运行命令ssh username@public_ip_address登录到你家用Ubuntu计算机。

如果要将机器暴露在Internet上,则最好实施一些安全措施。最基本的方法是将路由器转发端口为其它端口,非默认的SSH端口。

您也可以设置基于SSH密钥的身份验证,然后免密码即可连接到Ubuntu计算机。

停止/禁用SSH

要在您的Ubuntu系统禁用SSH服务器,只需运行命令sudo systemctl disable --now ssh即可停止SSH服务。以后,要重新启用它,请运行sudo systemctl enable --now ssh

sudo systemctl disable --now ssh
sudo systemctl enable --now ssh

结论

我们向您展示了如何在Ubuntu 20.04安装SSH服务器。 现在,您可以登录计算机并通过命令提示符执行日常系统管理任务。

如果要管理多个系统,则可以通过在SSH配置文件中定义所有连接来简化工作流程。更改默认的SSH端口,可以降低自动攻击的风险,从而为系统增加了一层安全保护。

有关如何配置SSH服务器的详细信息,请阅读Ubuntu的SSH/OpenSSH/Configuring指南和官方SSH手册页。如有任何疑问,请在下面发表评论。