升級OPENSSH踩過的坑


安裝三個必要依賴包
yum install gcc zlib-devel openssl-devel
上傳安裝包,創建一個/tmp目錄下,然后解壓,將/etc/ssh/目錄移動到本地
解壓安裝包,進入安裝目錄
./configure --prefix=/usr --sysconfdir=/etc/ssh
卸載老版本 rpm -e --nodeps `rpm -qa | grep openssh`

開始安裝
make install
chmod 0600 /etc/ssh/ssh_host_rsa_key
chmod 0600 /etc/ssh/ssh_host_ecdsa_key
chmod 0600 /etc/ssh/ssh_host_ed25519_key

拷貝啟動文件
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
sed -i '/#PermitRootLogin prohibit-password/c'"PermitRootLogin yes" /etc/ssh/sshd_config

 

gcc gcc-c++ glibc make autoconf openssl-devel pcre-devel pam-devel rpm-build


yum install -y pam* zlib*
pam-devel-1.1.1-24.el6.x86_64
pam_krb5-2.3.11-9.el6.x86_64
pam_ldap-185-11.el6.x86_64
pam_passwdqc-1.0.5-8.el6.x86_64
pam_pkcs11-0.6.2-15.el6.x86_64
pcsc-lite-libs-1.5.2-16.el6.x86_64

rpm -e --nodeps `rpm -qa | grep openssh`
#/configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam --with-tcp-wrappers && make && make install 
下載編譯安裝openssl,prefix=/usr/local/openssl-1.1.1e

./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam && make install --with-ssl-dir=/usr/local/openssl-1.1.1e

cp -a /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd && cp -a /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

no matching key exchange method found.
第二種方法,修改/etc/ssh/sshd_config_config文件,在最末尾加入即可。


KexAlgorithms +diffie-hellman-group1-sha1
PubkeyAuthentication yes
PermitRootLogin yes
PubkeyAuthentication yes
echo "KexAlgorithms +diffie-hellman-group1-sha1">>/etc/ssh/sshd_config
echo "PermitRootLogin yes">>/etc/ssh/sshd_config
echo "PubkeyAuthentication yes">>/etc/ssh/sshd_config

添加開機啟動chkconfig sshd on


sed -i '/#PermitRootLogin prohibit-password/c'"PermitRootLogin yes" /etc/ssh/sshd_config
文件管理,安裝包 傳遞到;


https://www.cnblogs.com/xyb930826/p/6077348.html
checking OpenSSL header version... not found configure: error: OpenSSL version header not found.問題
系統沒有找到openssl庫,需要運行ldconfig。

 

-with-openssl=/usr/local/ssl
'echo "/usr/local/openssl-1.1.1e/lib">>/etc/ld.so.conf'
ldconfig


[root@ds1 upgradessh]# salt '192.168.1.113' cmd.run "/etc/init.d/sshd start"
192.168.1.113:
Starting sshd:/usr/sbin/sshd: error while loading shared libraries: libcrypto.so.1.1: failed to map segment from shared object: Permission denied
[FAILED]
ERROR: Minions returned with non-zero exit code
[root@ds1 upgradessh]# salt '192.168.1.113' cmd.run "getenforcing"
192.168.1.113:
/bin/bash: getenforcing: command not found
ERROR: Minions returned with non-zero exit code
[root@ds1 upgradessh]# get
getcap getcifsacl getenforce getfacl getkey getopt getpcaps gettext gettext.sh
getcert getconf getent getfattr getkeycodes getopts getsebool gettextize
[root@ds1 upgradessh]# geten
getenforce getent
[root@ds1 upgradessh]# geten
getenforce getent
[root@ds1 upgradessh]# salt '192.168.1.113' cmd.run "getenforce"
192.168.1.113:
Enforcing

rpm -e --nodeps `rpm -qa | grep openssh` && cd /tmp/openssh && mv /etc/ssh /tmp/openssh/sshbak

downloadzip:
file.managed:
- name: /tmp/openssh-8.3p1.tar.gz
- source: salt://files/openssh/openssh-8.3p1.tar.gz
- mode: 644
- user: root
- group: root
upgrade:
cmd.run:
- name: rm -rf /tmp/openssh && yum clean all && mkdir /tmp/openssh && rpm -e --nodeps `rpm -qa | grep openssh` && cd /tmp/openssh && mv /etc/ssh /tmp/sshbak && cd /tmp/openssh && tar -zxf /tmp/openssh-8.3p1.tar.gz && /tmp/openssh/openssh-8.3p1/configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam && make install

upgrade2:
cmd.run:
- name: cp -a /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd && cp -a /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam && echo "KexAlgorithms +diffie-hellman-group1-sha1">>/etc/ssh/sshd_config && echo "PermitRootLogin yes">>/etc/ssh/sshd_config && echo "PubkeyAuthentication yes">>/etc/ssh/sshd_config && chkconfig sshd on && setenforce 0 && /etc/init.d/sshd start && ssh -V

需要指定openssl目錄的
編譯升級openssl
rpmcopy:
file.managed:
- name: /tmp/openssl-1.1.1e.tar.gz
- source: salt://files/openssl/openssl-1.1.1e.tar.gz
- user: root
- group: root
- mode: 640
cmd.run:
- name: cd /tmp && tar -zxf openssl-1.1.1e.tar.gz && cd /tmp/openssl-1.1.1e/ && ./config --prefix=/usr/local/openssl-1.1.1e && make && make install && echo "/usr/local/openssl-1.1.1e/lib">>/etc/ld.so.conf && ldconfig



downloadzip:
file.managed:
- name: /tmp/openssh-8.3p1.tar.gz
- source: salt://files/openssh/openssh-8.3p1.tar.gz
- mode: 644
- user: root
- group: root
upgrade:
cmd.run:
- name: rm -rf /tmp/openssh && yum clean all && mkdir /tmp/openssh && rpm -e --nodeps `rpm -qa | grep openssh` && cd /tmp/openssh && mv /etc/ssh /tmp/openssh/sshbak && cd /tmp/openssh && tar -zxf /tmp/openssh-8.3p1.tar.gz && /tmp/openssh/openssh-8.3p1/configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam -with-ssl-dir=/usr/local/openssl-1.1.1e && make install
upgrade2:
cmd.run:
- name: cp -a /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd && cp -a /tmp/openssh/openssh-8.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam && echo "KexAlgorithms +diffie-hellman-group1-sha1">>/etc/ssh/sshd_config && echo "PermitRootLogin yes">>/etc/ssh/sshd_config && echo "PubkeyAuthentication yes">>/etc/ssh/sshd_config && chkconfig sshd on && setenforce 0 && /etc/init.d/sshd start && ssh -V



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM