升級openssh【linux平臺】
建議在第一步配置telnet之前,首先配置yum,用於安裝可能需要的package
■■掛載OS的iso映象
mount -o loop/u01/soft/os/rhel-server-6.4-x86_64-dvd.iso /u01/soft/os/iso
■■config yum - local
適用於redhat6:如redhat6.6,centos6.5
■遮蔽預設配置目錄/etc/yum.repos.d
mv /etc/yum.repos.d /etc/yum.repos.d.old
■修改/etc/yum.conf,新增檔案位置,並啟用enabled=1
[server]
name=server
baseurl=file:///u01/soft/os
enabled=yes
gpgcheck=no
■配置httpd服務,用以配置http方式的yum源
將document配置到iso所掛載的位置
■■config yum - http
■遮蔽預設配置目錄/etc/yum.repos.d
mv /etc/yum.repos.d /etc/yum.repos.d.old
■修改/etc/yum.conf
[os]
name=Red Hat Enterprise Linux
#sxyd-wxwy
baseurl = http://10.231.129.23
#hbyd-zhzy
#baseurl = http://10.216.6.138/os
gpgcheck=0
gpgkey = http://10.231.129.23/repodata/repomd.xml
一、■■配置telnet服務、gcc編譯器
目的:便於遠端操作、配置新版本的openssh,同時確保不會因為升級SSH失誤導致無法遠端登陸主機
■確認telnet服務是否已經安裝
yum info telnet*
■如果沒有安裝telnet-server
yum install telnet-server
■安裝telnet server後,修改/etc/xinetd.d/telnet的disable一行為no
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
■安裝telnet server後,改名/etc/securetty檔案
mv /etc/securetty /etc/securetty.old
■啟動xinetd服務,即同時啟動了telnet服務
service xinetd start
■此時測試能否遠端telnet登陸伺服器,確認telnet服務生效後,就可以進行下一步
■升級openssh需gcc編譯器,確認是否安裝
yum info gcc
如沒有安裝,則安裝:
yum install gcc
二、■■升級Zlib
www.zlib.net
下載最新的原始碼【已下載】
tar xvfz zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make install
三、■■升級openssl
【升級openssl會導致yum、python等一系列依賴問題,因此暫時不升級openssl,只升級openssh到7.2版本】
www.openssl.org
下載最新的原始碼【已下載】
■解除安裝已有的openssl
rpm -e `rpm -qa | grep openssl`--allmatches --nodeps
■重新配置編譯openssl到系統預設目錄
tar xvfz openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config --prefix=/usr --shared zlib
(安裝openssl, 記得加--shared選項, 否則openssh編譯的時候可能會找不到新安裝的openssl的library, 會報錯:openssl的 header和library版本不匹配)
(20151020:增加了zlib選項,可解決最後的錯誤提示“Zlib not supported: compression tests skipped”)
make clean(這一步很關鍵,務必執行)
make
make test(這一步是進行SSL 加密協議的完整測試,如出現錯誤需找出原因,否則可能導致 SSH 不能使用)
make install
■如果make時報錯如下
c_zlib.c:25:18: 錯誤:zlib.h:沒有那個檔案或目錄
原因是沒有zlib的devel庫,需要安裝devel庫:yum install zlib-delvel
■確認openssl版本
openssl version -a
■升級openssl後可能會導致如下錯誤1
[[email protected] openssh-7.5p1]# yum infovncserver
There was a problem importing one of thePython modules
required to run yum. The error leading tothis problem was:
libssl.so.10: cannot open shared object file: No such file or directory
Please install a package which providesthis module, or
verify that the module is installedcorrectly.
It's possible that the above module doesn'tmatch the
current version of Python, which is:
2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
ln相關的lib庫檔案到預設的目錄即可
ln -s /usr/lib64/libssl.so.1.1/usr/lib/libssl.so.10
■升級openssl後可能會導致如下錯誤2
[[email protected] openssl-1.1.0f]# yum infovncserver
There was a problem importing one of thePython modules
required to run yum. The error leading tothis problem was:
libcrypto.so.10: cannot open shared object file: No such file ordirectory
Please install a package which providesthis module, or
verify that the module is installedcorrectly.
It's possible that the above module doesn'tmatch the
current version of Python, which is:
2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
如下方法並不能解決問題
ln -s /usr/lib64/libcrypto.so.1.1/usr/lib/libcrypto.so.10
從os源安裝低版本的openssl包,可恢復libssl庫,但openssl版本仍然過低,無法安裝最新版本的openssh7.5
rpm -ivh openssl-1.0.0-27.el6.x86_64.rpm
rpm -ivhopenssl-devel-1.0.0-27.el6.x86_64.rpm
四、■■升級openssh
www.openssh.com
下載相關原始碼【已下載,使用7.2版本】
■備份已有的ssh
mv /etc/ssh /etc/ssh.old
■解除安裝ssh
rpm -e `rpm -qa|grep openssh` --allmatches--nodeps
■配置、編譯、安裝ssh
tar xvfz openssh-7.5p1.tar.gz
cd openssh-7.5p1
./configure --prefix=/usr--sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib--with-md5-passwords
如果提示沒有openssl標頭檔案,則需安裝openssl-devel開發包:yum install openssl-devel
如果提示openssl版本太低:OpenSSL>= 1.0.1 required,則需升級openssl
如果提示沒有pam標頭檔案:PAMheaders not found,則需安裝PAM開發包:yuminstall pam-devel
make
make install
■配置進系統服務
cp contrib/redhat/sshd.init/etc/init.d/sshd
chkconfig --add sshd
■修改PAM配置
cp contrib/sshd.pam.generic /etc/pam.d/sshd
這裡的lib需要修改為正確的路徑,否則會在/var/log/secure裡面看到無法找到lib的報錯,導致pam無法生效!路徑可參見/etc/pam.d/裡面的su、rlogin等檔案,將路徑/lib/security/刪掉即可。
■確認升級後的版本
ssh -V
■修改sshd配置
根據原sshd配置:/etc/ssh.old/sshd_config
修改新sshd配置:/etc/ssh/sshd_config
ssh埠號是否是22
#Port 22
是否允許root遠端登陸
#PermitRootLogin yes
sshd預設沒開啟PAM支援
#UsePAM no
■重新啟動sshd服務
service sshd restart
■驗證可以遠端ssh登陸以後,可以關閉telnet服務
service xinetd stop
■■其他可能的問題
■升級完成後ssh登入正常,sftp不能通過4A正常登入;
處理方法:
將/etc/ssh/sshd_config檔案中的
# override default of no subsystems
Subsystem sftp /usr/local/openssh/libexec/sftp-server
修改為:
# override default of no subsystems
Subsystem sftp internal-sftp
#Subsystem sftp /usr/local/openssh/libexec/sftp-server
後重啟ssh後,繞行堡壘機登入正常;
■通過堡壘機登入裝置失敗,提示“不能切換至"XXXXXXXXXXXXX"指定目錄”;
處理方法:
修改/etc/ssh/sshd_config檔案,新增
KexAlgorithms +diffie-hellman-group1-sha1
重啟sshd服務後,通過堡壘機登入sftp正常。
相關推薦
升級openssh【linux平臺】
建議在第一步配置telnet之前,首先配置yum,用於安裝可能需要的package ■■掛載OS的iso映象 mount -o loop/u01/soft/os/rhel-server-6.4-x86_64-dvd.iso /u01/soft/os/iso ■■conf
【Linux技術】如何升級cmake
如果系統中的cmake版本無法滿足我們的需求,我們可以通過原始碼對cmake進行重現安裝。 1 檢視cmake版本 cmake --version 2 解除安裝過去的版本 sudo apt-get a
【linux雜談】在SSH連線中,openssh如何解決'Connection refused'錯誤?
openssh是SSH (Secure SHell) 協議的免費開源實現。SSH協議族可以用來進行遠端控制, 或在計算機之間傳送檔案。 這就意味著遠端登陸,檔案推拉特別是搭建集群后公鑰的部署,經常要利用到openssh。本人之前搭建hadoop叢集模式的時候,公鑰投送就和ssh相關,如今搭建ansible測
【linux系列】vmware12pro安裝centos7
ping entos 配置 行編輯 rip 無法 conf 解決 config 安裝參考:http://blog.csdn.net/guin_guo/article/details/49403889 安裝完成之後ip還是不成功無法連接網絡: 進入/etc/sysconfig
【linux系列】cenos7安裝jdk
解壓 安裝目錄 .gz .cn ima cenos linux jdk環境變量配置 環境 一、下載jdk,我采用的jdk.tar.gz的安裝包 二、創建jdk安裝目錄 三、安裝包解壓 四、jdk環境變量配置 五、使配置的環境變量生效 六、檢查jdk是否安裝成功 【l
【Linux基礎】Linux基礎命令行學習筆記
esc 隱藏 python chm 合並 tree 位置 常用 輸入 絕對路徑:cd /home/python相對路徑:cd Downloads . 表示:當前那路徑..表示:當前路徑的上一層../.. 表示:當前路徑的上二層 沒有...或者以上的 ls: ls 查看當
tomcat【Linux環境】安裝與啟動
log 下載 linux環境 測試 $path rtu apache startup pro 一、安裝 1、下載tomcat安裝包 2、解壓安裝包 3、配置環境變量 打開~/.bash_profile文件,輸入一下兩句話: export TOMCAT_HOME=/User
【Linux環境】部署war包到tomcat
ima pps 部署war linux maven .cn alt XML blog 以turbine為例。 一、部署 1、下載或者生成war包(從maven上下載war包,並改名字為turbine.war) 2、將turbine.war拷貝到$TOMCAT_HOME/we
【linux基礎】dhcp服務
配置 dhcp 1、修改服務的配置文件:定制功能vi /etc/dhcp/dhcpd.conf option domain-name "linuxxue.top";option domain-name-servers 202.106.0.20;default-lease-time 600;max-le
【linux基礎】samba匿名共享+用戶認證共享
共享 sabma 一、匿名共享1、安裝yum -y install samba* ##安裝samba軟件2、修改配置文件vi /etc/samba/smb.conf [global] workgroup = MYGROUP server string = Samba
【linux基礎 】vsftpd+本地用戶認證
本地 vsftpd 用戶 1、修改配置文件[[email protected]/* */ ~]# cat /etc/vsftpd/vsftpd.conf anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022
【linux基礎】rpm安裝程序和管理
rpm使用1.了解應用程序應用程序(app):安裝在os上完成特定功能的軟件。應用程序的類型:*.rpm(redhat分支默認軟件格式),*.deb(debian分支默認軟件格式),源代碼(通用的軟件格式,也是生成rpm和deb的基礎),其他自帶安裝程序及免安裝的軟件。用戶程序常用的目錄:/etc,/var/
【Linux 驅動】Netfilter/iptables (八) Netfilter的NAT機制
問題: int eas for 數量 linux 提高 markdown 網絡安全 NAT是Network Address Translation的縮寫,意即“網絡地址轉換”。從本質上來說,是通過改動IP數據首部中的地址,以實現將一個地址轉換成還有一個地
【Linux基礎】Fcitx中文輸入法安裝
sun 不顯示 命令 中文輸入 狀態 linu div 中括號 ron 一、安裝Fcitx 1. 安裝Fcitx所需組件 sudo apt install fcitx fcitx-tools fcitx-config* fcitx-frontend* fcitx-modu
【Linux系列】【基礎版】第三章 Shell基礎知識
linux shell 3. Shell基礎知識 3.1 Shell的由來 3.1.1 Bourne Agin Shell 3.1.2 其他的shell, 有 zsh, ksh等 3.2 查看有沒有shell 3.2.1 yum list
【linux環境】zabbix server安裝
zabbixnginx安裝1)源碼編譯安裝yum install -y pcre* openssl* gcc gcc-c++ automake zlib* ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
【linux命令】test
一個 ech -o bsp 表達式 表達式2 nbsp -a 表達 1、表達式 #!/bin/bash # if test 表達式1 【表達式為真】 if test 1 == 1;then echo ‘test 條件為真‘ fi # if test 表達式1 【等同於
【Linux筆記】第九篇、添加MariaDB用戶、設置權限
.com 生效 mysq local 分享圖片 style info user 創建 一、登錄mysql 二、創建用戶 create user [email protected] identified by ‘dev‘; 三、給新建用戶授權數據庫h_user的權限 授權
【Linux基礎】wget命令下載
次數 遠程 分隔 address exe erb 本地 guide symlink 原文 1.下載單個文件 wget http://down.51cto.com/download.php?do=attachment&aid=1131994&k=93d6c
【Linux/CentOS】上手常見問題筆記
配置 html 參考 一個 輸入 class alt mage shel 場景:Web項目服務端想要運行在Linux系統上,還要編寫一些自動化發布代碼的Shell腳本,需要學習使用Linux系統。 環境:Windows系統下用虛擬機VMware Workstation Pr