如何在Ubuntu 18.04上启用SSH

时间:2020-03-05 15:32:01  来源:igfitidea点击:

安全shell(SSH)是一种加密网络协议,用于客户端和服务器之间的安全连接。

在本教程中,我们将向我们展示如何在Ubuntu桌面计算机上启用SSH。
启用SSH将使我们可以远程连接到Ubuntu计算机,并安全地传输文件或者执行管理任务。

准备工作

在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。

在Ubuntu上启用SSH

SSH服务器默认未安装在Ubuntu桌面系统上,但可以从标准Ubuntu存储库中轻松安装。

要在Ubuntu系统上安装并启用SSH,请完成以下步骤:

  • 通过使用“ Ctrl + Alt + T”键盘快捷键或者单击终端图标来打开终端,并通过键入以下命令来安装“ openssh-server”软件包:
sudo apt updatesudo apt install openssh-server

在出现提示时输入密码,然后输入“ Y”继续安装。

  • 安装完成后,SSH服务将自动启动。要验证安装是否成功并且SSH服务正在运行,请键入以下命令,该命令将显示SSH服务器状态:
sudo systemctl status ssh

我们应该看到类似“活动:活动(正在运行)”的内容:

按“ q”返回命令行提示符。

  • Ubuntu附带了一个名为UFW的防火墙配置工具。如果系统上启用了防火墙,请确保打开SSH端口:
sudo ufw allow ssh

现在已经在Ubuntu系统上安装并运行了SSH,我们可以从任何远程计算机通过SSH连接到它了。
Linux和macOS系统默认情况下安装了SSH客户端。
如果要从Windows计算机连接,则可以使用SSH客户端(例如PuTTY)。

通过LAN连接到SSH

要通过LAN连接到Ubuntu计算机,只需输入以下命令:

ssh username@ip_address

使用实际用户名更改“用户名”,并使用安装SSH的Ubuntu计算机的IP地址更改“ ip_address”。

如果我们不知道自己的IP地址,则可以使用ip命令轻松找到它:

ip a

从输出中可以看到,系统IP地址为'192.168.121.111'。

找到IP地址后,通过运行以下“ ssh”命令登录到远程计算机:

ssh [email protected]

首次通过SSH连接时,我们会看到一条类似于以下内容的消息:

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

输入“是”,系统会提示我们输入密码。

Warning: Permanently added '192.168.121.111' (ECDSA) to the list of known hosts.
[email protected]'s password:

输入密码后,将收到类似以下内容的消息。

Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-33-generic x86_64)
 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
...

现在,我们已登录到Ubuntu计算机。

通过Internet连接到SSH

要通过Internet连接到Ubuntu计算机,我们将需要知道公共IP地址并配置路由器以在端口22上接受数据并将其发送到运行SSH的Ubuntu计算机。

要确定我们要通过SSH进行访问的计算机的公共IP地址,只需访问以下URL:'https://api.ipify.org'。

在设置端口转发时,每个路由器都有不同的方式来设置端口转发。

我们应该查阅路由器文档,以了解如何设置端口转发。
简而言之,我们需要输入进行请求的端口号(默认SSH端口为22)和我们先前在运行SSH的计算机上找到的私有IP地址(使用'ip a'命令)。

找到IP地址并配置路由器后,我们可以通过输入以下内容登录:

ssh username@public_ip_address

如果要将计算机暴露在Internet上,则最好实施一些安全措施。
最基本的方法是将路由器配置为在非标准端口上接受SSH流量,并将其转发到运行SSH服务的计算机上的端口22.

我们还可以设置基于SSH密钥的身份验证并连接到Ubuntu计算机,而无需输入密码。

在Ubuntu上禁用SSH

如果出于某种原因要在Ubuntu计算机上禁用SSH,则只需运行以下命令即可停止SSH服务:

sudo systemctl stop ssh

要再次启动它,请运行:

sudo systemctl start ssh

要禁用SSH服务以在系统引导运行期间启动,请执行以下操作:

sudo systemctl disable ssh

要再次启用它,请输入:

sudo systemctl enable ssh