介绍
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 - step2:当安装完成之后,ssh服务将会自动开启,当然身为严谨的我们,我们当然可以选择去手动确认他:
tips: 当可以看到高亮的$ sudo systemctl status sshActive: active(running)类似的字段时,则代表已经成功开启啦。 - 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
在使用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…