1. 程式人生 > >centos7下openssh升級

centos7下openssh升級

  • 參考網站

官方安裝文件:

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html

網上相關安裝文件:

http://www.cnblogs.com/biaopei/p/9267262.html

openssl官方網站

https://www.openssl.org/

zlib官方網站

http://www.zlib.net/

openssh官方網站

https://www.openssh.com

 

  • 版本檢視

open ssh當前版本(最新7.9)

openssl版本(最新1.1.1)

zilib版本(最新1.2.11)

 

  • openssh_7.9版本要求
  1. 目前不支援OpenSSL 1.1.x.(條件滿足,無需升級)
  2. Zlib 1.1.4或1.2.1.2或更高版本(早期1.2.x版本有問題)(條件滿足,無需升級)
  • 安裝telnet服務(防止ssh安裝失敗連線不上伺服器)

yum install -y telnet-server

yum install -y xinetd 

systemctl enable xinetd.service

systemctl enable telnet.socket

systemctl start telnet.socket

systemctl start xinetd

#預設情況下,系統是不允許root使用者telnet遠端登入的。如果要使用root使用者直接登入,需設定如下內容:

 echo  'pts/0'  >>/etc/securetty

echo 'pts/1' >>/etc/securetty

 

 

  • openssh安裝可能出現問題問題

1.configure: error: no acceptable C compiler found in $PATH

問題解決

      yum install gcc

2.configure: error: * zlib.h missing - please install first or check config.log * 


                使用 yum install openssl openssl-devel -y 安裝相關依 

 

​​​​​​​3.Permission denied (publickey,keyboard-interactive)

        echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config

  • 具體安裝過程

1.解除安裝舊的openssh

    cp -r /etc/ssh /etc/ssh.old    #開始準備安裝openssh

    rpm -qa|grep openssh

    rpm -e --nodeps openssh-clients-6.6.1p1-31.el7.x86_64 

    rpm -e --nodeps openssh-6.6.1p1-31.el7.x86_64

   rpm -e --nodeps openssh-server-6.6.1p1-31.el7.x86_64

    rpm -qa|grep openssh

2.安裝

install  -v -m700 -d /var/lib/sshd &&

chown    -v root:sys /var/lib/sshd &&

groupadd -g 50 sshd        &&

useradd  -c 'sshd PrivSep' \

         -d /var/lib/sshd  \

         -g sshd           \

         -s /bin/false     \

         -u 50 sshd

 

tar -zxvf openssh-7.9p1.tar.gz

cd openssh-7.9p1

 

./configure --prefix=/usr                     \

            --sysconfdir=/etc/ssh             \

            --with-md5-passwords              \

            --with-privsep-path=/var/lib/sshd &&

make

make install #執行好可能會提示WARNING: UNPROTECTED PRIVATE KEY FILE!原因是下面幾個檔案的許可權問題

ll /etc/ssh/ssh_host_rsa_key

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

ssh –V

 

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

install -v -m644    contrib/ssh-copy-id.1 /usr/share/man/man1 

install -v -m755 -d /usr/share/doc/openssh-7.9p1

install -v -m644    INSTALL LICENCE OVERVIEW README*  #可能會有警告,不過問題不大

install -v -m644    INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.9p1 

  

#root使用者訪問處理        

ssh -V

echo 'X11Forwarding yes' >> /etc/ssh/sshd_config

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config 

 

3.系統服務相關處理

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 

4.檢查防火牆是否關閉或者22埠是否開放

systemctl disable firewalld.service

 systemctl stop firewalld

5.關閉selinx

vi /etc/selinux/config 

SELINUX=enforcing 改成 SELINUX=disabled 

重啟電腦就可以了