赞
踩
链接:百度网盘 请输入提取码
提取码:uaio
rpm -qa|grep openssh
ssh -V
Index of /pub/OpenBSD/OpenSSH/portable/
建议安装,如果你升级到一半,VPN突然掉了,或者网络断开,你就连不上xshell了,如果安装了telnet后,就是网络和VPN断开,也可以进行下一步操作
为了避免在生产上安装openSSH失败,安装telnet
检查telnet是否安装
rpm -qa | grep telnet
没有安装,如果安装,请先卸载后重新安装
例如:
关闭telnet服务
- systemctl disable xinetd.service
- systemctl stop xinetd.service
- systemctl disable telnet.socket
- systemctl stop telnet.socket
执行卸载
- rpm -e --nodeps telnet-0.17-47.el6.x86_64
- rpm -e --nodeps telnet-server-0.17-64.el7.x86_64
统一上传路径 /home/telnet
注意: 需要先安装xinetd,然后安装telnet客户端,再安装telnet服务端,不然可能会报错
- cd /home/telnet
- rpm -ivh xinetd-2.3.14-38.el6.x86_64.rpm
- rpm -ivh telnet-0.17-47.el6.x86_64.rpm
- rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm
- systemctl start telnet.socket
- systemctl start xinetd
- systemctl enable telnet.socket
- systemctl enable xinetd.service
- netstat -antupl | grep 23
- cat /etc/services | grep -a 'telnet'
开放root用户的权限,编辑以下文件.
vim /etc/pam.d/remote
注释掉这一行
#auth required pam_securetty.so
然后关闭centos7防火墙
停止firewalld、关闭firewalld开机自启
- systemctl stop firewalld.service
- systemctl disable firewalld.service
gcc -v
表示需要安装gcc
- cd /home/openSSH/gcc/
- rpm -ivh *.rpm --nodeps --force
gcc -v
openssl version
- cd /home/openSSH/devel/
- rpm -ivh *.rpm --nodeps --force
本人升级过程中,不同服务器遇到情况不一,可能有的系统安装3.3.1会报错,建议安装1.1.1版本
- cd /home/openSSH
- tar -zxvf openssl-3.3.1.tar.gz -C ./
-
- cd /home/openSSH/openssl-openssl-3.3.1
- ./config shared && make && make install
echo $?
先进行备份、添加软链接
- ##根据需要安装的是3.3.1版本
- cd /home/openSSH/openssl-openssl-3.3.1
- ll /usr/bin/openssl
- mv /usr/bin/openssl /usr/bin/openssl_bak
-
- ln -s /usr/local/bin/openssl /usr/bin/openssl
- ll /usr/bin/openssl
加载新配置
- cd /home/openSSH/openssl-openssl-3.3.1
-
- ##如果之前升级过openssl,则下面操作建议用vim打开删除之前添加的配置
- echo "/usr/local/lib64" >> /etc/ld.so.conf
-
- /sbin/ldconfig
注意:如果执行./config shared报错提示perl,则建议直接将openssl版本降至最低要求1.1.1
openssl-openssl-3.3.1]# ./config shared
Can't locate Params/Check.pm in @INC (@INC contains: /home/openSSH/openssl-openssl-3.3.1/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /home/openSSH/openssl-openssl-3.3.1/external/perl/Text-Template-1.56/lib) at ...
- cd /home/openSSH/
- tar -zxvf openssl-OpenSSL_1_1_1v.tar.gz -C ./
- cd openssl-OpenSSL_1_1_1v/
- ./config --prefix=/opt/openssl
- make
- make install
echo $?
添加软链接
- ll /usr/bin/openssl
- mv /usr/bin/openssl /usr/bin/openssl_bak
- ln -s /opt/openssl/bin/openssl /usr/bin/openssl
如果在建立映射文件过程中出现文件存在,直接删除、覆盖即可
如果之前升级过openssl,则下面操作建议用vim打开删除之前添加的配置
- echo "/opt/openssl/lib" >> /etc/ld.so.conf
- ldconfig --verbose
openssl version
- cd /home/openSSH/
- tar -zxvf openssh-9.8p1.tar.gz -C ./
- cd ./openssh-9.8p1/
安装ssl-1.1.1版本的
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/opt/openssl/include/openssl --with-ssl-dir=/opt/openssl --with-zlib --with-md5-passwords --with-pam && make && make install
安装ssl-3.3.1版本的(如果编译报错,"--with-ssl-dir"路径参数需要微调)
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/include/openssl --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam && make && make install
编译过程中可能会出现报错,基本是ssl头文件路径配置问题
修改路径为:
--with-openssl-includes=/opt/openssl/include/openssl或者添加" --without-openssl-header-check"
./configure --without-openssl-header-check --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/opt/openssl/include/openssl --with-ssl-dir=/opt/openssl --with-zlib --with-md5-passwords --with-pam && make && make install
查看是否安装成功
echo $?
授予权限(如果不授权,会启动ssh失败)##授予文件可写的权限
- chmod 600 /etc/ssh/ssh_host_rsa_key
- chmod 600 /etc/ssh/ssh_host_ecdsa_key
- chmod 600 /etc/ssh/ssh_host_ed25519_key
授予权限后,再次编译安装
此处需要配置sshd_config,见下文
vim /etc/ssh/sshd_config
取消注释#PermitRootLogin yes,给root登录放行
下面的文件根据启动需要看是否拷贝,如果启动报sshd:未识别的服务,就需要拷贝下列文件
- cd /home/openSSH/openssh-9.8p1/
- cp -a contrib/redhat/sshd.init /etc/init.d/sshd
- cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
- chmod +x /etc/init.d/sshd
把原先的systemd管理的sshd文件删除或者移走或者删除,不移走的话影响我们重启sshd服务(如果没有就算了)
mv /usr/lib/systemd/system/sshd.service /home/
chkconfig sshd on
- chkconfig --add sshd
- systemctl enable sshd
/etc/init.d/sshd stop
netstat -lntp
3:运行 sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config 检查配置是否正确,如果没有错误提示,就可以正常启动 SSH 服务了
sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config
提示哪个参数不支持,就把该参数注释掉
4:启动ssh服务
/etc/init.d/sshd start
netstat -lntp
/etc/init.d/sshd restart
ssh -V
开启firewalld、开启firewalld开机自启
- systemctl start firewalld.service
- systemctl enable firewalld.service
重启系统
reboot
重启后再连接,验证是否升级成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。