升级openssh到最新版本

时间:2022-01-09 22:21:00

首先,下载最新版本,传到服务器:http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/

安装

cd /root/
mkdir ssh_upgrade && cd ssh_upgrade

上传openssh安装包

rz 安装包

查看当前openssh版本

ssh -V

卸载原有openssh

yum remove openssh -y

安装 gcc、openssl和zlib

yum install gcc openssl-devel zlib-devel
tar zxvf openssh-7.5p1.tar.gz
cd openssh-7.5p1
./configure
make && make install

拷贝ssh服务文件

cp ./contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd

修改SSHD服务文件

vim /etc/init.d/sshd
修改以下内容
SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/sbin/sshd
/usr/sbin/ssh-keygen -A 为 /usr/local/bin/ssh-keygen -A
保存退出

加入系统服务

chkconfig --add sshd

查看系统启动服务是否增加改项

chkconfig --list |grep sshd

sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

允许root用户远程登录

cp sshd_config /etc/ssh/sshd_config
vim /etc/ssh/sshd_config 修改 PermitRootLogin yes,并去掉注释

配置允许root用户远程登录

这一操作很重要!很重要!很重要!重要的事情说三遍,因为openssh安装好默认是不执行sshd_config文件的,所以即使在sshd_config中配置允许root用户远程登录,但是不加上这句命令,还是不会生效!

vim /etc/init.d/sshd
在 ‘$SSHD $OPTIONS && success || failure’这一行上面加上一行 ‘OPTIONS="-f /etc/ssh/sshd_config"’
保存退出

启动/重启

service sshd start


SFTP:Connection closed by server with exitcode 127

find / -name /usr/local/libexec/sftp-server | xargs ls -hl
看安装时间找到目标

找到后vim /etc/ssh/sshd_config
将ubsystem sftp /usr/libexec/sftp-server
修改为Subsystem sftp /usr/local/libexec/sftp-server

============================
重要
vim /etc/ssh/sshd_config
开放SSH端口

============================

更新后需清除/root/.ssh/known_hosts
否则其他已访问过的机器再访问会提示Add correct host key in /root/.ssh/known_hosts to get rid of this message