首先,下载最新版本,传到服务器: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