1. 程式人生 > >centos 7 原始碼安裝openssh 8.3

centos 7 原始碼安裝openssh 8.3

環境:centos 7.1.1503 最小化安裝

依賴包下載:  yum -y install lrzsz zlib-devel perl gcc pam-devel

1、安裝openssl ,選用最新發布的版本:openssl-1.1.1g.tar.gz

1)openssl下載地址:https://www.openssl.org/source/openssl-1.1.1g.tar.gz

2)解除安裝系統預裝的openssl ,這一步可以不做

rpm -qa | grep openssl | grep -v lib

yum -y remove openssl-1.0.1e-42.el7.x86_64

 

3)安裝步驟:

tar -zxvf openssl-1.1.1g.tar.gz

cd cd openssl-1.1.1g

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib shared

make && make install

4)建立軟連結

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

5)更新系統配置

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

/sbin/ldconfig

6)檢查版本

openssl version

 

2、安裝openssh,選用最新發布的版本:openssh-8.3p1.tar.gz

1)openssh下載地址:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz

2)備份系統的openssh配置檔案

cp -r /etc/sysconfig/sshd /etc/sysconfig/sshd.bak

cp -r /sys/fs/cgroup/systemd/system.slice/sshd.service /sys/fs/cgroup/systemd/system.slice/sshd.service.bak

cp -r /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak

cp -r /usr/lib/systemd/system/sshd.socket /usr/lib/systemd/system/sshd.socket.bak

cp -r /usr/lib/systemd/system/[email protected] /usr/lib/systemd/system/[email protected]

cp -r /usr/lib/systemd/system/sshd-keygen.service /usr/lib/systemd/system/sshd-keygen.service.bak

3)解除安裝系統預裝的openssh,這一步可以不做

rpm -qa | grep openssh

yum -y remove openssh-server-6.6.1p1-11.el7.x86_64 openssh-clients-6.6.1p1-11.el7.x86_64 openssh-6.6.1p1-11.el7.x86_64

 

 4)備份openssh配置檔案,這一步可以不做

cp -r /etc/ssh /etc/ssh.bak

rm -rf /etc/ssh  #這一步很重要,必須做

5)安裝步驟

tar -zxvf openssh-8.3p1.tar.gz

cd openssh-8.3p1

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/openssl/include   --with-ssl-dir=/usr/local/openssl   --with-zlib   --with-md5-passwords   --with-pam   --with-ssl-engine

make && make install

6)建立軟連結

ln -s /usr/local/openssh/sbin/sshd /sbin/sshd

ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh

ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add

ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

ln -s /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan

7)恢復備份的配置檔案

mv /etc/sysconfig/sshd.bak /etc/sysconfig/sshd

mv /sys/fs/cgroup/systemd/system.slice/sshd.service.bak /sys/fs/cgroup/systemd/system.slice/sshd.service

mv /usr/lib/systemd/system/sshd.service.bak /usr/lib/systemd/system/sshd.service

mv /usr/lib/systemd/system/sshd.socket.bak /usr/lib/systemd/system/sshd.socket

mv /usr/lib/systemd/system/[email protected] /usr/lib/systemd/system/[email protected]

mv /usr/lib/systemd/system/sshd-keygen.service.bak /usr/lib/systemd/system/sshd-keygen.service

8)檢查openssh版本

ssh -V

 

9)修改openssh的配置檔案,允許root登入

vi /etc/ssh/sshd_config

將 #PermitRootLogin prohibit-password 修改為 PermitRootLogin yes

 

10)將sshd服務設為開機啟動

chkconfig sshd on

11)重啟sshd服務

systemctl restart sshd && systemctl restart sshd && systemctl restart sshd && systemctl restart sshd &

 

 至此openssh服務安裝完成,不放心的話可以reboot重啟機器

參考文章

https://blog.csdn.net/zhang197093/article/details/79029623

https://blog.csdn.net/huangbaokang/article/details/8988