############ 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