升级ssh最详细手册
1、准备工作
- 需要到官网下载三个安装包,分别是ssl,shh,zlib(如图);
安装包在官网下载 - 查看当前系统时间是否正确 ;
date -s 修改系统时间
3.查看Perl版本是否在5.10以上, 不是则需要升级
(Perl的升级请查看我另一条笔记)
4.查看是否安装gcc;
输入gcc按回车 只要不是 command not found 就是安装了gcc
2、解压升级包
tar --no-same-owner -zxvf zlib-1.2.11.tar.gz
tar --no-same-owner -zxvf openssh-8.3p1.tar.gz
tar --no-same-owner -zxvf openssl-1.1.1g.tar.gz
3、编译安装zlib
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make && make install
4、编译安装openssl
cd openssl-1.1.1g
./config --prefix=/usr/local/ssl -d shared
make && make install
echo ‘/usr/local/ssl/lib’ >> /etc/ld.so.conf
ldconfig -v
5、编译安装openssh
cd openssh-8.3p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
6、sshd_config文件修改
echo ‘PermitRootLogin yes’ >>/usr/local/openssh/etc/sshd_config
echo ‘PubkeyAuthentication yes’ >>/usr/local/openssh/etc/sshd_config
echo ‘PasswordAuthentication yes’ >>/usr/local/openssh/etc/sshd_config
7、备份原有文件,并将新的配置复制到指定目录(建议直接复制命令,共5对)
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
8、找到openssh 的预编译文件夹de sshd.init文件
一般都在这个目录:openssh/contrib/redhat/sshd.init
可以使用 find / -name sshd.init 查找
到这个目录底下 cp sshd.init /etc/init.d/sshd
9、启动sshd
service sshd restart
10、查看版本是否升级成功
ssh -V
11、修改/etc/ssh/sshd_config 文件中sftp路径
vim编辑文件 查找sftp就能找到
改为 Subsystem sftp /usr/libexec/sftp-server
(不修改则会导致登录后瞬间断开)