SSH全称Secure Shell,是用于客户端和服务器之间安全连接的网络协议。 服务器与客户端之间的每次交互均被加密。
本教程介绍了如何在Ubuntu 20.04安装SSH服务器。启用SSH将使您可以远程连接到系统并执行管理任务。 您还可以通过scp
和sftp
安全的传输文件。
默认情况下,首次安装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手册页。如有任何疑问,请在下面发表评论。