############ openssl ############
#备份旧的openssl文件
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo mv /usr/lib64/openssl /usr/lib64/openssl.bak
sudo mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old #这根据实例的环境,此文件根据情况进行备份
#1.查看openssh、gcc版本
ssh -V
gcc -v
#2.编译安装Zlib:
cd /usr/local/src
wget -c http://www.zlib.net/zlib-1.2.11.tar.gz
#3.编译安装
tar xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local/zlib
make install
#4.升级openssl
##4.1查看版本
openssl version
##4.2下载
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
##4.3备份旧版
mv /usr/bin/openssl{,.bak}
##4.4解压
tar xf openssl-1.1.1k.tar.gz -C /usr/local/
##4.5编译
cd /usr/local/openssl-1.1.1kk
./config --prefix=/usr/local/ssl --openssldir=/use/local/ssl shared
make && make install
##4.6软链接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
##4.7更配置
echo '/usr/local/ssl/lib' >>/etc/ld.so.conf
##4.8生效
ldconfig
##测试
openssl version
以防玩意,可以先安装Telnet
1.查看是否安装了Telnet
rpm -qa|grep "xinetd"
2.若没有安装则,
yum install xinetd -y
3.查看telnet是否安装,若没有安装则
查看:rpm -qa|grep 'telnet'
安装:yum install telnet telnet-server -y
4.编辑配置文件
vi /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
5.检查端口
netstat -lntup|grep 23
6.修改telnet的配置文件,因为telnet是明文传输,所以修改端口(PS:安装此是为了openssh升级失败断连,openssh升级完成后,即可卸载)
vi /etc/services
#找到telnet,修改,如下
telnet 7916/tcp
telnet 7916/udp
#7.重启服务
service xinetd restart
#8.在实例上创建一个普通用户,用来登录(root用户不可以登录实例,也不建议用root登录)
useradd login_ssh
passwd login_ssh
#9.在windows上尝试连接
telnet 10.0.0.71 7916
zabbix login: login_ssh
Password:
Login incorrect
zabbix login: login_ssh
Password:
[login_ssh@zabbix ~]$
visudo #添加授权
login_ssh ALL=(ALL) NOPASSWD:ALL
############ openssh ############
#PS:升级Openssh最好本机操作或者开启telnet,防止升级失败,中途断开连接,推荐本机登录操作
#1.备份ssh配置文件夹
mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak( 全局查一下所在位置 )
mv /usr/sbin/sshd /usr/sbin/sshd.bak
#2.下载安装包
cd /usr/local
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
#3.解压
tar xf openssh-8.6p1.tar.gz
chown root.root openssh-8.6p1 -R
cd /opt/openssh-8.6p1
#4.安装依赖
yum install -y openssl-devel pam-devel gcc
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening --without-openssl-header-check
#检测一下
echo $? #---> 若为0则是成功的
#5.安装
make && make install
echo $? #---> 若为0则是成功的
#6.如果提示key文件权限过大
chmod 600 file_name
例:chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
#7.复制配置
rsync -av /etc/init.d/sshd /etc/init.d/sshd.bak
rsync -av /etc/pam.d/sshd /etc/pam.d/sshd.bak
rsync -av contrib/redhat/sshd.init /etc/init.d/sshd #按照实际情况进行
rsync -av contrib/redhat/sshd.pam /etc/pam.d/sshd.pam #我执行此步升级成功后,登录不上,查看报错信息,是由于这块引起得,于是没执行此步可以;
chmod u+x /etc/init.d/sshd
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
#7.1修改配置
rsync -av /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo egrep -v "^#|^$" /etc/ssh.bak/sshd_config
sudo vim /etc/ssh/sshd_config #除了下变的,根据/etc/ssh.bak/sshd_config进行修改
PermitRootLogin yes
PasswordAuthentication yes
UseDNS no
.....
#PS: Subsystem开头的不要修改
# 8、设置开机自启
chkconfig --add sshd
chkconfig sshd on
# 9、重启ssh服务
systemctl daemon-reload
systemctl restart sshd
#10.查看版本
ssh -V
#########回滚#########
rm -rf /etc/ssh
mv /etc/ssh.bak /etc/ssh
mv /usr/bin/ssh.bak /usr/bin/ssh
mv /usr/sbin/sshd.bak /usr/sbin/sshd
systemctl restart sshd
#验证
ssh -V