如何在Ubuntu 18.04上启用SSH
安全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