1. 程式人生 > >openssh升級安裝手冊

openssh升級安裝手冊

openssh升級安裝手冊

一、安裝telnet

安裝telnet,為了防止升級中ssh連線中斷,導致無法遠端

1.啟用telnet服務

service xinetd start

telnet服務開機啟動

避免升級過程中伺服器意外重啟後無法遠端登入系統

2.開啟root登入

預設情況下是不允許root登陸的,如果一定需要root登陸

vi /etc/xinetd.d/telnet

將其中disable欄位的yes改為no以啟用telnet服務

mv /etc/securetty /etc/securetty.old

允許root使用者通過telnet登入

3.重啟telnet服務

service xinetd restart

4.測試telnet連線ssh

telnet xxx.xxx.xxx.xxx
不用跟埠

二、安裝openssh新版本

1.備份

mv /etc/ssh /etc/ssh.old
mv /etc/init.d/sshd /etc/init.d/sshd.old
pm -qa |grep openssl #檢查openssl是否>=1.0.1如果不是需要重新安裝openssl

2.檢視已安裝的rpm檔案

[[email protected]
~]# rpm -qa | grep openssh openssh-5.3p1-94.el6.x86_64 openssh-askpass-5.3p1-94.el6.x86_64 openssh-clients-5.3p1-94.el6.x86_64 openssh-server-5.3p1-94.el6.x86_64

3.解除安裝當前ssh

然後分別執行,用查到的檔名替換,注意版本號

rpm -e  --nodeps openssh-5.3p1-94.el6.x86_64
rpm -e  --nodeps openssh-clients-5.3p1-94.el6.x86_64
rpm -e  --nodeps openssh-askpass-5.3p1-94.el6.x86_64
rpm -e  --noscripts openssh-server-5.3p1-94.el6.x86_64

4.下載安裝包

1)下載頁

https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/

2)下載連結

https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz

這裡用的openssh-7.6p1.tar.gz版本

3)下載並解壓

wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz
tar -zxvf openssh-7.6p1.tar.gz
cd openssh-7.6p1

5.編譯安裝

1)編譯前先安裝依賴包

yum install zlib-devel openssl-devel pam-devel gcc -y

2)編譯安裝

./configure --prefix=/usr/local/openssh/ \
--sysconfdir=/etc/ssh --with-md5-passwords \
--with-pam --with-zlib --with-openssl-includes=/usr \
--with-privsep-path=/var/lib/sshd
make
make install 

3) 覆蓋檔案

cp -p contrib/redhat/sshd.init /etc/init.d/sshd 
chmod +x /etc/init.d/sshd
chkconfig --add sshd
cp sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp ssh-keygen /usr/bin/
cp ssh /usr/bin/ssh

三、重啟服務

service sshd restart

如果提示

[[email protected] openssh-7.6p1]# service sshd restart
Stopping sshd:                                             [  OK  ]
/sbin/restorecon:  lstat(/etc/ssh/ssh_host_key.pub) failed:  No such file or directory
Starting sshd:                                             [  OK  ]

到/etc/rc.d/init.d/sshd把這個檔案的檢查刪掉

42   if [ -x /sbin/restorecon ]; then
43                 /sbin/restorecon /etc/ssh/ssh_host_key.pub
44                 /sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub
45                 /sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub
46                 /sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub
47         fi

刪掉43行即可

重啟後測試連線

四、關閉telnet服務
如果條件允許,可以重啟下伺服器驗證下是否仍然可以ssh登陸
然後關閉telnet服務

mv /etc/securetty.old /etc/securetty 
chkconfig  xinetd off 
service xinetd stop