Ⅰ python openssh安裝失敗怎麼解決
python openssh安裝失敗怎麼解決?方法如下:
1、【下載安裝包】:由於openssh依賴於openssl庫,所以在安裝openssh前要先安裝openssl庫(我用的是openssh-7.3p1.tar.gz 和openssl-1.0.1h.tar.gz)
2、【切換到root用戶】:切換到root用戶-執行命令:su root
3、【解壓OpenSSL安裝包】:進入安裝包所在目錄,通過linux自帶的工具tar進行解壓,執行命令為:tar -zxvf openssl-1.0.1h.tar.gz
4、【配置安裝變數】:打開解壓後的目錄,執行命令:cd openssl-1.0.1h;配置安裝環境-執行命令:./configure
相關推薦:《Python基礎教程》
5、【編譯源碼】:在解壓目錄進行編譯,執行命令:make
6、【安裝openssl】:安裝,執行命令:make install
7、【解壓openssh安裝包】:進入安裝包所在目錄,執行命令:tar -zxvf openssh-7.3p1.tar.gz
8、【配置安裝變數】:打開解壓後的目錄,執行命令:cd openssh-7.3p1;配置安裝環境,執行命令:./configure --prefix=/usr/local/servers/openssh,「/usr/local/servers/openssh」是安裝路徑,可改為自己想安裝的路徑 。
9、【編譯源碼】:在解壓目錄進行編譯,執行命令:make
此處執行編譯時可能報error: *** zlib.h missing - please install first or check config.log ***"這是由於缺少zlib-devel所致,只需安裝zlib-devel即可,執行命令:yum install zlib-devel;
還有可能會包"OpenSSL headers missing - please install first or check config.log ***"的錯誤,這是缺少openssl-devel所致,只需安裝openssl-devel即可,執行命令:yum install openssl-devel
10、【安裝openssh】:安裝,執行命令:make install
11、【啟動openssh服務】:啟動sshd服務,只需命令:service sshd start
12、【配置sshd服務】修改配置文件 /etc/ssh/sshd_config
Port 22
Protocol 2
PermitRootLogin yes
去掉這三行的注釋 ,最後一個是允許root用戶直接使用sshd服務登錄伺服器的!
重新啟動sshd服務,執行命令:service sshd restart
設置sshd為系統自動啟動,執行命令 chkconfig --level 35 sshd on
13、【測試】執行命令:ssh localhost 如果讓輸入密碼,則說明安裝成功。
Ⅱ 升級openssh出錯,求大神指點怎麼解決
一、環境描述
1)操作系統:CentOS 6.5 64位
2)Openssl升級前版本:openssl 0.9.8e
3)Openssl升級後版本:openssl 1.0.1j(源碼安裝)
4)Openssh升級前版本:openssh-4.3p2-41.el5
5)Openssh升級後版本:openssh_6.7p1(源碼安裝)
6)連接工具SecureCrt
二、安裝Dropbear代替OpenSSH
安裝dropbear只是為了在升級失敗sshd啟動不起來時,依然可以登錄系統。也可以用其他工具代替,比如telnet
1)下載dropbear安裝包
https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2
2)檢查安裝依賴包
rpm -qa zlib* gcc make
3)編譯安裝dropbear
# tar jxf dropbear-2014.66.tar.bz2
# cd dropbear-2014.66
# ./configure
# make && make install
檢查生成的文件是否正確:
4)生成證書
# /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key (註:系統默認是沒有/etc/dropbear 目錄的需要自行到創建)
# /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key
5)啟動dropbear
# /usr/local/sbin/dropbear -p 2222 //監聽2222埠
查看是否啟動成功:
三、升級OpenSSL到openssl-1.0.1j,並刪除老版本
1)升級前准備
下載openssl-1.0.1j
http://www.openssl.org/source/openssl-1.0.1j.tar.gz
2)刪除舊版本
#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
3)安裝openssl, 一定記得加上--shared選項, 否則openssh編譯的時候會找不到新安裝的openssl的library, 會報錯: openssl的 header和library版本不匹配
(註:這里LZ糾結了很久,如果按照步驟執行./config --prefix=/usr --shared 依然報錯: openssl的 header和library版本不匹配,很可能是由於之前安裝的Openssl也是源碼安裝的,而且沒有刪除干凈,需要手工搜索ssl相關的文件
1.執行find / -name ssl
2.將搜索結果中/usr/lib /usr/lib64 /lib64 /lib等目錄下的結果逐一重命名,千萬不要亂刪除,逐一嘗試。這是個笨辦法,目前還沒有發現啥比較好的辦法。)
# ./config --prefix=/usr --shared
# make
# make test
# make install
完畢後查看openssl版本安裝是否正確
# openssl version -a
四、升級sshd到OpenSSH-6.7並刪除老版本ssh
1)升級前准備
查看是否缺包
# rpm -qa | egrep "gcc|make|perl|pam|pam-devel"
如果有配置yum了的話可以直接yum安裝這些包,這樣既可以檢驗是否裝了,沒裝的直接裝上。
yum -y install gcc* make perl pam pam-devel
2)下載openssh-6.7p1.tar.gz
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz
備份ssh :
# mv /etc/ssh /etc/ssh.bak
# openssl version -a
3)編譯安裝新版本openssh
# tar zxf openssh-6.7p1.tar.gz && cd openssh-6.7p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
# make
先卸載完舊版本的openssh,再make install
# rpm -qa | grep openssh
# rpm -e `rpm -qa | grep openssh`
Openssh-askpass是用於圖形界面下輸入口令的,用不著可以不裝
# make install
4)查看是否升級到新版本
5)復制啟動腳本到/etc/init.d
# cp /root/openssh-6.7p1/contrib/RedHat/sshd.init /etc/init.d/sshd
加入開機自啟
# chkconfig --add sshd
6)啟動sshd,用start或reload。不要restart,restart 會直接斷開連接,而並不會接著啟動sshd服務,這時候要通過其他途徑進入機器,然後啟動sshd服務才行。
四、刪除dropbear。
終端軟體里再重新打開一個標簽,
在這里Dropbear用來防止升級不成功,用來替代openssh連接伺服器。
在開啟2222埠(dropbear啟動時的埠,可以設置別的 )的情況下,通過xshell連接的方法是:
ssh 192.168.0.1 2222 (192.168.0.1為需要連接的伺服器ip)
刪除dropbear安裝的文件,並殺掉進程
# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*