Centos7 升級OpenSSH

序言

Centos7 檢測出漏洞,要升級OpenSSH。

過程

避免升級不成功出現ssh無法連接情況請yum安裝telnet-server開啓23端口,以便安裝不成功23端口依然能連接。

 yum install -y telnet telnet-server lrzsz wget xinetd vim

然後設置下開機自啓

systemctl enable telnet.socket
systemctl start telnet.socket
systemctl enable xinetd
systemctl start xinetd

如果有防火牆記得關牆

firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload

創建用戶,telnet連接不能直接使用root超級用戶連接

useradd test
echo "123456" | passwd --stdin test

切記一定要測試連接

telnet 192.168.0.100 23

提示輸入用戶名即可。

然後準備前置條件

yum install zlib-devel
yum install openssl-devel
yum install pam-devel

備份下以免升級失敗

cp -r /etc/ssh /etc/ssh.old #備份一些之前的文件

然後開始心驚肉跳的卸載ssh

rpm -qa|grep openssh
rpm -e --nodeps openssh-clients-7.9.1p1-31.el7.x86_64
rpm -e --nodeps openssh-7.9.1p1-31.el7.x86_64
rpm -e --nodeps openssh-server-7.9.1p1-31.el7.x86_64
rpm -qa|grep openssh

去官網下載最新的OpenSSH

http://www.openssh.com/

上傳到服務器並解壓到一個目錄

tar zxvf openssh-8.1p1.tar.gz
cd openssh-8.1p1

配置一下 --sysconfdir=/etc/ssh:這可以防止安裝配置文件/usr/etc --with-pam:此參數在構建中啓用 Linux-PAM支持

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam

編譯安裝

# 編譯
make
配置權限
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key
# 安裝
make install

配置下

install -v -m755 contrib/ssh-copy-id /usr/bin

改一下配置文件不然root登錄不進去

vim /etc/ssh/sshd_config
# 修改如下
PermitRootLogin yes
PasswordAuthentication yes

配置下開機啓用

cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd
systemctl restart sshd

驗證一下

ssh -V

關閉selinux,否則重啓sshd之後ssh無法連接(一直提示輸入密碼)

setenforce 0
vim /etc/selinux/config
# 修改如下
SELINUX=disabled

心驚肉跳的重啓下連接試試吧

回滾

如果之前是rpm包安裝的。並且按照以上步驟操作,可以直接以下命令進行回滾

yum -y install openssh-clients
yum -y install openssh-server
yum -y install openssh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章