0.引入
Linux服务器发行版注重效率至上,因此在大多数情况下,安装Linux server环境并不带有GUI界面方便用户操作,而是使用最基本的CLI终端界面,通过命令来管理服务器。
由于CLI的特性,对拉丁文外的字符和语言都不太友好,就比如中文。这也是部分用户安装web面板时可能遇到的难题,因此远程终端的作用就可以发挥出来了
1.什么是SSH?
安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。
事实上,使用任何使用CLI界面的网络操作系统都可以通过SSH或Telnet这种远程访问协议进行配置;因此,不局限于Linux,像是大型交换机、路由器和防火墙等设备的固件系统都可以配置Telnet来远程访问和管理。
SSH是Telnet的安全升级版,或者你可以了解一下SSH的别名:STelnet,这本质上只是一个技术的两种称呼罢了。
2.我能拿SSH做什么?
SSH的主要用途包括:
远程登录:允许用户从一台计算机(客户端)连接到另一台计算机(服务器),并在服务器上执行命令或程序。
文件传输:通过SFTP(SSH File Transfer Protocol)或SCP(Secure Copy Protocol)协议安全地传输文件。
端口转发:可以设置SSH隧道来转发特定端口的流量,用于访问在远程网络上的服务。
安全服务:提供加密的数据传输,保护通信免受窃听、篡改和防止会话劫持。
SSH提供了一个安全的方式来进行远程管理服务器和其他网络设备,广泛应用于系统管理、远程数据处理和云服务管理等领域。
在我们日用领域,若没有可网管交换机,我们最有可能与其相遇的场景就是为家用Linux服务器做基本配置(例如安装面板)和远程终端(例如手动执行sudo apt upgrade)操作。
3.熟悉SSH,实战接入服务器
OpenSSH服务端:
在Ubuntu server LTS安装的过程中已介绍了OpenSSH Server的安装,此处不再赘述
OpenSSH客户端:
目前较新版本的Windows powershell均自带OpenSSH客户端,如果不清楚,可以直接在powershell中输入ssh,若有正确返回则无问题。
前往Microsoft store安装Windows Terminal并打开:
在连接服务器前你需要确保
客户端可以正常通过网络正常连接到服务端
输入验证信息格式为ssh 用户名@服务器地址,如果是第一次连接,你大概率会看到下列信息
无法确定主机 “172.118.2.60 (172.118.2.60) ”的真实性。
ECDSA 密钥指纹为 SHA256:ihwIEXtPRwmGcsi0P09rkg4ySRKsCNaNJsiplb87JyQ。
您确定要继续连接吗(是/否/[指纹])?
此处yes即可,将会跟服务器交换ECDSA以双向加密之间的连接
输入密码后成功登录
随后就可如同在本地CLI一样在云操作服务器,例如手动运行控制台命令或安装基础软件
正在下载系统固件
若你和我一样经常重装Linux,可能会遇到本地SSH密钥与远程冲突导致的认证失败,可以在客户端运行以下命令来重置ECDSA密钥
ssh-keygen -R address
可以使用exit
退出登录
4.一些常见的远程Linux命令
1.更新系统上的所有软件包到最新版本
sudo apt upgrade
2.安装1Panel面板(需要连接互联网,此处用Ubuntu Server举例)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
大部分的命令不需要CLI界面执行,绝大部分都可以在web面板端完成配置,并有更加高效的GUI界面
5.额,我是不是忘了什么
其实1Panel面板的web界面内置了远程终端
对的,因此你也不必纠结关于不同地点不同设备使用SSH的问题,只需要一个浏览器,即可实现一站式解决绝大部分服务器问题
其实也可以通过GUI设置SSH服务器的各种配置
甚至可以查看SSH端口的使用日志,连接和断连日志,便于分析。