序言
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