linux系统(centos )
注:因为要关闭ssh服务(关闭后服务ssh无法连接),最好先打开telnet(网上有方法)。
1、安装编译所需工具包:
yum -y install gcc pam-devel zlib-devel
2、查看当前版本:
ssh -V
3、下载openssh(不同版本):
sudo wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.8p1.tar.gz
wget http://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
4、解压软件:
tar -zxvf openssh-7.8p1.tar.gz
5、停止ssh服务:
service sshd stop
6、备份原来的ssh配置文件:
mv /etc/ssh /etc/ssh_bak
7、删除卸载旧版本ssh:
rpm -e openssh-server --nodeps
rpm -e openssh-clients --nodeps
rpm -e openssh-askpass --nodeps
rpm -e openssh --nodeps
8、安装相关组件:
yum -y install openssl-devel pam-devel
9、备份原有文件:
mv /usr/local/openssh /usr/local/openssh20181101
10、编译安装新ssh:
cd openssh-7.8p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-ssl-dir=/usr/bin/openssl --without-hardening
make && make install
11、配置ssh启动服务脚本:
cp contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
ll /etc/init.d/sshd
12、添加开机启动:
chkconfig --add sshd
chkconfig sshd on
13、修改root登录权限相关配置:
vi /etc/ssh/sshd_config将PermitRootLogin yes的注释去掉 --如没有就添加到最后
14、启动问题解决:
ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd
15、启动ssh服务:
service sshd start
16、ssh -V提示:-bash: ssh: command not found
ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
/* a、步骤“14”如果报错软连接已存在:
rm -f 报错的文件位置 --删除之前的软连接
重新再创建软连接
b、步骤“14”软连接创建成功,但是’ssh -V’却还是显示的是之前的老版本:
按照步骤“16”重新创建一次软连接,根据报错信息:
rm -f 报错的文件位置 --删除之前的软连接
重新执行步骤“16”
*/