centos7下openssh升級
- 參考網站
官方安裝文件:
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
網上相關安裝文件:
http://www.cnblogs.com/biaopei/p/9267262.html
openssl官方網站
zlib官方網站
openssh官方網站
- 版本檢視
open ssh當前版本(最新7.9)
openssl版本(最新1.1.1)
zilib版本(最新1.2.11)
- openssh_7.9版本要求
- 目前不支援OpenSSL 1.1.x.(條件滿足,無需升級)
- 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
重啟電腦就可以了