如何在Ubuntu 20.04上启用SSH
安全shell(SSH)是用于客户端和服务器之间安全连接的网络协议。
服务器与客户端之间的每次交互均被加密。
本教程说明了如何在Ubuntu计算机上启用SSH。
启用SSH将使我们可以远程连接到系统并执行管理任务。
我们还可以通过“ scp”和“ sftp”安全地传输文件。
在Ubuntu上启用SSH
默认情况下,首次安装Ubuntu时,不允许通过SSH进行远程访问。
在Ubuntu上启用SSH非常简单。
以root或者具有sudo特权的用户执行以下步骤,以在Ubuntu系统上安装并启用SSH:
- 使用“ Ctrl + Alt + T”打开终端,然后安装“ openssh-server”软件包:
sudo apt updatesudo apt install openssh-server
出现提示时,输入密码,然后按Enter键继续安装。
- 安装完成后,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 Mon 2017-06-01 12:34:00 CEST; 9h ago ...
按“ q”返回命令行提示符。
- Ubuntu随附了一个名为UFW的防火墙配置工具。如果系统上启用了防火墙,请确保打开SSH端口:
sudo ufw allow ssh
就是这样!现在,我们可以从任何远程计算机通过SSH连接到Ubuntu系统。
Linux和macOS系统默认情况下安装了SSH客户端。
要从Windows计算机连接,请使用SSH客户端(例如PuTTY)。
连接到SSH服务器
要通过LAN连接到Ubuntu计算机,请调用ssh命令,然后输入用户名和IP地址,格式如下:
ssh username@ip_address
确保使用实际用户名更改“用户名”,并使用安装SSH的Ubuntu计算机的IP地址更改“ ip_address”。
如果我们不知道自己的IP地址,则可以使用“ ip”命令轻松找到它:
ip a
从输出中可以看到,系统IP地址为'10 .0.2.15'。
找到IP地址后,通过运行以下“ ssh”命令登录到远程计算机:
ssh [email protected]
第一次连接时,我们会看到如下消息:
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)?
输入“是”,系统会提示我们输入密码。
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts. [email protected]'s password:
输入密码后,将收到默认的Ubuntu消息:
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 ...
现在,我们已登录到Ubuntu计算机。
在NAT后连接到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 disable --now ssh
稍后,要重新启用它,请输入:
sudo systemctl enable --now ssh