ubantu 20.04 开通ssh服务

608 阅读3分钟

介绍

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。SSH使用频率最高的场合是类Unix系统,但是Windows操作系统也能有限度地使用SSH。2015年,微软宣布将在未来的操作系统中提供原生SSH协议支持,Windows 10 1803版本已提供OpenSSH工具。--来源:维基百科

开启ssh服务

默认的Ubantu在安装时,默认是不会开启ssh服务的。故在后续用户需要时,需要手动去安装下载依赖并开启服务。

tips: 请确保一下操作均在root或具有sudo权限的用户身份去操作,以便正确安装和启用ssh

  • step1:打开命令行(可通过Ctrl+alt+t快捷开启),并安装SSH服务所需依赖openssh-server
    $ sudo apt update
    $ sudo apt install openssh-server
    
    install-server.webp
  • step2:当安装完成之后,ssh服务将会自动开启,当然身为严谨的我们,我们当然可以选择去手动确认他:
    $ sudo systemctl status ssh
    
    tips: 当可以看到高亮的Active: active(running)类似的字段时,则代表已经成功开启啦。 verify-open.webp
  • step3: ubantu自身带着名为UFW的防火墙。因此如果对应的你的系统开启了防火墙服务。那么一定也得确保打开了ssh对应的端口
    $ sudo ufw allow ssh
    

通过以上步骤,ssh服务便已经在你的系统上生根发芽了。你可以通过其他来访问了。

tops: 在linux和macOS系统上默认都已经安装了SSH客户端。如果使用windows电脑访问可以使用 powershell、git-bash或者其他工具

在局域网中使用ssh连接

可以使用一下命令来连接你的开已经开通了ssh服务的ubantu系统:

$ ssh username@ip_address

替换username为实际的用户名。ip_address为你需要登录的Ubantu系统

如果不清楚机器的ip地址,可以通过以下命令来获取

$ ip -a

show-ip.webp 在使用ssh进行首次连接时,将会看到如下tips:

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)?

输入yes来确认并输入密码来进行验证登录。 至此便可以开始任何合法的操作啦~

注意:以上操作仅限与两台机器处在,同一局域网中(即在同一个子网下面),否则会出现连接失败的情况

在互联网中使用ssh

在互联网中,我们在通过网关转发路由跳转来进行通信。ssh作为通信协议,自然也是遵从以上方式。因此在通过互联网连接到目标机器上时。需要我们知道目标机器对应的公共ip,并配置路由器接受端口22上的数据,来转发给运行目标机器。 为确认目标机器对应的公共ip地址,你可以通过访问api.ipify.org/来进行查看。 在设置端口转发时,每个路由器都有不同的设置端口转发的方法。 因此需要查阅对应的有关如何设置端口转发的路由器文档。在此不做拓展。

关闭ssh服务

做事儿,当然得有始有终,如果啥时间,觉得22号端口一直开着,太累了,你可以: 你可以通过以下命令来关闭服务:

$ sudo systemctl stop ssh

当然了,我也了解人嘛,善变的。你可以通过以下命令来再次开启服务:

$ sudo systemctl start ssh

此外还可以通过以下命令来禁止/允许ssh自启动:

$ sudo systemctl disable ssh
$ sudo systemctl enable ssh

参考文章、图片来源: linuxize.com/post/how-to…