升级SSH的使用指南。
一、何为SSH
SSH 为 [Secure Shell](https://baike.baidu.com/item/Secure Shell) 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
以上介绍出自百度百科。而我们经常远程黑框访问操作Linux的xshell工具就是借助SSH才能进行远程连接,可以说SSH是远程连接的基础。
二、SSH升级
查看ssh版本,这里需要注意后面的字母V一定要是大写
ssh -V
这里我们看到返回结果显示,现在的OpenSSH版本是7.4
在升级前,我们将原先的ssh文件备份一下,所有的ssh文件位置在/etc/ssh下
cp -rf /etc/ssh /etc/ssh.bak
接下去,我们开始正式的安装工作:
1. 下载安装包,这里以ssh 8.2版本为例
cd /usr
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz
2. 解压并安装
tar -xzvf openssh-8.2p1.tar.gz
cd openssh-8.2p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers
make
make install
若make失败,则再次执行以下./configure命令。
3. 修改配置文件
检查配置文件是否允许root登录,直接通过访问/etc/ssh/sshd_config文件查看PermitRootLogin yes这一行是否被注释,若被注释了则需要打开;
vim /etc/ssh/sshd_config
或者直接使用命令进行快速修改:
sed -i '/^#PermitRootLogin/s/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
4. 重启openSSH
service sshd restart
5. 检查版本是否升级成功
ssh -V
这里看到结果已经成功升级到8.2
6.关键检验步骤
在以上步骤版本生效之后,还有更重要的一步,先别关闭当前的远程连接窗口,新开一个连接窗口测试是否能够远程连接成功,若成功则说明没问题。若失败,则需要检查第三步配置文件是否修改成功,这会导致你无法进行远程连接,但是不影响你已经处于连接状态的窗口,所以建议在不关闭当前连接窗口的前提下进行测试。
三、结论
整个SSH升级过程其实跟普通的软件升级步骤差不多,唯一需要注意的是由于SSH涉及到远程登录,在我们升级完SSH后先不关闭当前的连接窗口,打开一个新的窗口进行测试是否真正成功。最开始差点踩到坑的这一步,就是源于建立新连接失败了,但是好在我原先的连接窗口还保留着,所以还能够补救。
参考资料: