當前位置:首頁 » 編程軟體 » 編譯openssh

編譯openssh

發布時間: 2024-08-21 00:27:37

linux-SSL和SSH和OpenSSH,OpenSSL有什麼區別

ssl是通訊鏈路的附加層。可以包含很多協議。https, ftps, .....
ssh只是加密的shell,最初是用來替代telnet的。通過port forward,也可以讓其他協議通過ssh的隧道而起到加密的效果。
SSL是一種國際標準的加密及身份認證通信協議,您用的瀏覽器就支持此協議。SSL(Secure Sockets Layer)最初是由美國Netscape公司研究出來的,後來成為了Internet網上安全通訊與交易的標准。SSL協議使用通訊雙方的客戶證書以及CA根證書,允許客戶/伺服器應用以一種不能被偷聽的方式通訊,在通訊雙方間建立起了一條安全的、可信任的通訊通道。它具備以下基本特徵:信息保密性、信息完整性、相互鑒定。 主要用於提高應用程序之間數據的安全系數。SSL協議的整個概念可以被總結為:一個保證任何安裝了安全套接字的客戶和伺服器間事務安全的協議,它涉及所有TC/IP應用程序。

SSH的英文全稱是Secure SHell。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣「中間人」這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的「通道」。SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。SSH的安全驗證是如何工作的從客戶端來看,SSH提供兩種級別的安全驗證。第一種級別(基於口令的安全驗證)只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的伺服器在冒充真正的伺服器,也就是受到「中間人」這種方式的攻擊。第二種級別(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要連接到SSH伺服器上,客戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,伺服器就用公用密匙加密「質詢」(challenge)並把它發送給客戶端軟體。客戶端軟體收到「質詢」之後就可以用你的私人密匙解密再把它發送給伺服器。用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網路上傳送口令。第二種級別不僅加密所有傳送的數據,而且「中間人」這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。
OpenSSL------一個C語言函數庫,是對SSL協議的實現。
OpenSSH-----是對SSH協議的實現。
ssh 利用 openssl 提供的庫。openssl 中也有個叫做 openssl 的工具,是 openssl 中的庫的命令行介面。
編譯依賴上看:
openssh依賴於openssl,沒有openssl的話openssh就編譯不過去,也運行不了。
HTTPS可以使用TLS或者SSL協議,而openssl是TLS、SSL協議的開源實現,提供開發庫和命令行程序。openssl很優秀,所以很多涉及到數據加密、傳輸加密的地方都會使用openssl的庫來做。
可以理解成所有的HTTPS都使用了openssl。以root身份執行命令:grep -l 'libssl.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u,可以看到哪些進程載入了老版本的openssl庫。

❷ 為什麼在linux環境下安裝openssh時make不成功

make是linux下編譯安裝軟體的三個步驟 ./configure、make、make
install中的第2步。這種安裝,三個步驟是相關的。第一步不成功,第二步是不能進行的。操作不成功,看看前一步有沒有error或者是錯誤。如果沒
有,再看看make 這一步執行後,屏幕顯示上有沒有error或者是錯誤。
根據屏幕上的error提示網路一下具體解決方案。

❸ openssh漏洞

為了系統的安全加固,一般都會將openssh服務升級到最新版本,其中包括ssh、scp、sftp等服務。
筆者在升級的時候遇到了好多坑,現做一下整理。網上有好多關於升級openssh服務的介紹,大都不是很全,或多或少有問題,或是系統版本不同,或是安裝方式不同,或是服務版本不同。在這里,筆者主要針對編譯安裝的方式來介紹。
基礎環境准備:
首先打開兩個或以上的shell連接,因為在升級過程中如果升級失敗會導致不發新建shell連接;
官方網站下載最新版*.tar.gz安裝包:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz
注意:要下載p1版,此版為編譯安裝包。
在安裝之前先記下sshd.pid路徑,因為在啟動文件sshd中要更改此路徑。
將安裝包先傳入伺服器中;
卸載現有版本openssh:rpm -e `rpm -qa |grep openssh`
刪除/etc/ssh/下所有文件,在卸載完openssh後此路徑下文件不會刪除,需手動刪除;
安裝依賴:zlib-devel、openssl-devel、gcc、gcc-c++、make等
編譯安裝openssh:
./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl --with-md5-passwords mandir=/usr/share/man/
make && make install
刪除/etc/ssh/下的密鑰對,rm -f /etc/ssh/ssh_host_* (只刪除密鑰對即可,在重啟的時候會重新生成)
復制啟動文件至/etc/init.d/
cp contrib/redhat/sshd.init /etc/init.d/sshd
修改啟動文件:vim /etc/init.d/sshd,將PID_FILE路徑改為原來的sshd.pid的路徑
重啟sshd服務即可。
至此openssh服務升級完成,將sshd服務添加到開機啟動即可。
此版本openssh的配置文件默認是沒有開啟root登錄許可權的,想要開啟許可權可以修改配置文件/etc/ssh/sshd_config
註:在解壓目錄~/openssh-7.7p1/contrib中有多個系統版本的啟動文件,
如:aix、cygwin、hpux、redhat、suse等,如果此處沒有你所安裝的系統版本可以根據redhat版本的啟動文件來修改相關內容,前文講到的記錄sshd.pid路徑的原因就在此。
另外,安裝目錄為/usr/,因為在啟動文件中有關於SSHD的路徑,此安裝目錄默認為redhat啟動文件的路徑
如果變更了安裝路徑,啟動文件的此路徑也要變更。

❹ Openssh升級漏洞修復

0.前言
公司採用三方漏洞掃描時發現大量openssh漏洞,最終修復漏洞方案為將openssh升級到官方最新版本。

操作系統: Centos7.2
網路狀況: 可以訪問外網
Openssh版廳燃本: OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

修改配置文件/etc/xinetd.d/telnet 將裡面的」disable= yes」改成」 disable=no」 ,修改後結果

在/etc/securetty文件末尾增加一些pts終端,直接加在末尾就可以了

防火牆開啟23號埠,好世當然也可以直接關閉防友伏肢火牆 ,這里選擇關閉防火牆

或修改配置文件,永久生效。

(4)安裝依賴包

4.2 換成telnet登錄伺服器
其換成telnet登錄伺服器,更新過程ssh連接會斷,導致無法連接

4.3 安裝Openssl步驟
(1)替換會被備份的文件

(2)解壓軟體包並且進入目錄進行編譯

(3)創建軟連接

(4)驗證文件

(5)修改配置文件

5.2 安裝步驟
(1)解壓壓縮包

(2)修改目錄許可權

(3)備份會替換的文件

(4)執行編譯安裝

(5)修改配置文件

(6)文件替換

(7)添加開機自啟動

(8)重啟ssh

注意:在運行這個腳本的時候備份文件必須要是/back_up/backup.tgz,如果備份的時候叫其他名稱,請自行修改腳本。還有腳本不能運行為前台且跟終端相關進程,因為經測試發現在還原的時候ip會被沖掉。所以遠程連接會斷掉

最後需要注意的是執行腳本會重啟機器

❺ linux ssh 鍗囩駭瀹夎呮柟娉

涓銆佸畨瑁 Zlib

1銆佷笅杞芥渶鏂扮増鏈 Zlib

Zlib 瀹樻柟緗戠珯錛http://www.zlib.net/

# cd /usr/local/src

# wget -c http://www.zlib.net/zlib-1.2.3.tar.gz

2銆佺紪璇戝畨瑁 Zlib

# tar xzvf zlib-1.2.3.tar.gz

# cd zlib-1.2.3

# ./configure --prefix=/usr/local/zlib

# make

# make install

榪欐牱錛屽氨鎶 zlib 緙栬瘧瀹夎呭湪

/usr/local/zilib 涓浜嗐

浜屻佸畨瑁 OpenSSL

1銆佷笅杞芥渶鏂扮増鏈 OpenSSL

OpenSSL 鐨勫畼鏂圭綉絝欙細http://www.openssl.org

# cd /usr/local/src

# wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.gz

2銆佺紪璇戝畨瑁 OpenSSL

# tar xzvf openssl-0.9.8d.tar.gz

# cd openssl-0.9.8d

# ./Configure --prefix=/usr/local/openssl

# make

# make test(榪欎竴姝ュ緢閲嶈佸摝錛佹槸榪涜 SSL鍔犲瘑鍗忚鐨勫畬鏁存祴璇曪紝濡傛灉鍑虹幇閿欒灝辮佷竴瀹氬厛鎵懼嚭鍝閲岀殑鍘熷洜錛屽惁鍒欎竴鍛崇戶緇鍙鑳藉艱嚧鏈緇 SSH 涓嶈兘浣跨敤錛屽悗鏋滃緢涓ラ噸鍝!)

# make install

涓夈佸畨瑁 OpenSSH

1銆佷笅杞芥渶鏂扮増鏈 OpenSSH

OpenSSH 鐨勫畼鏂圭綉絝欙細http://www.openssh.com

# cd /usr/local/src

# wget -c ftp://ftp.it.net.au/mirrors/OpenBSD/OpenSSH/portable/openssh-4.5p1.tar.gz

2銆佺紪璇戝畨瑁 OpenSSH

# tar xzvf openssh-4.5p1.tar.gz

# cd openssh-4.5p1

# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords

(娉ㄦ剰錛屽傛灉 configure 鏃舵彁紺 PAM 鏈夐敊璇錛岄偅涓鑸鏄鍥犱負緋葷粺涓娌℃湁瀹夎 pam-devel RPM 鍖咃紝鎵懼埌瀹夎呭厜鐩橈紝瀹夎 pam-devel 灝卞彲浠ヨВ鍐沖暒)

# make

# make install

榪欐牱灝卞畬鎴愪簡鏁翠釜瀹夎 SSH 鐨勫伐浣滐紝鍦ㄥ畨瑁呭畬鎴愬悗錛屾垜浠榪橀渶瑕佷慨鏀逛竴涓 OpenSSH 鐨勯厤緗鏂囦歡榪涗竴姝ユ彁鍗囧畨鍏ㄦс傞氳繃浠ヤ笂姝ラゅ畬鎴愮殑瀹夎呭伐浣滐紝OpenSSH 鐨勯厤緗鏂囦歡鍦 /etc/ssh 涓嬶紝鍏朵腑 SSH Server 鐨勯厤緗鏂囦歡鏄 sshd_config銆

# vi /etc/ssh/sshd_config

鎵懼埌錛

CODE:

#Protocol 2,1淇鏀逛負錛

Protocol 2榪欐牱灝辯佺敤浜 ssh v1 鍗忚錛屽彧浣跨敤鏇村畨鍏ㄧ殑 ssh v2 鍗忚銆

X11Forwarding yes淇鏀逛負錛

X11Forwarding no紱佺敤 X11 杞鍙戙

淇鏀瑰悗淇濆瓨閫鍑恆

鈼 鐢熸垚ssh鏈嶅姟綆$悊鑴氭湰

榪涘叆ssh瑙e帇鐩褰

#cd /contrib/redhat

#cp sshd.init /etc/init.d/sshd

#chmod +x /etc/init.d/sshd

#chkconfig --add sshd

鏈鍚庯紝鍚鍔 SSH 鏈嶅姟浣誇慨鏀圭敓鏁堬細

# /etc/init.d/sshd restart

閲嶅惎鍚庣『璁や竴涓嬪綋鍓嶇殑 OpenSSH 鍜 OpenSSL鏄鍚︽g『錛

# ssh -v

濡傛灉鐪嬪埌浜嗘柊鐨勭増鏈鍙峰氨娌¢棶棰樺暒錛

鐙鑷絳夊緟琛ュ厖錛

鍦ㄥ疄璺佃繃紼嬩腑錛屽彂鐜頒簡濡備笅闂棰橈細

1銆佹彁紺篠tarting sshd:WARNING: initlog is deprecated and will be removed in a future release

鏍規嵁鍥藉栫殑緗戠珯涓婇潰寰楀埌鐨勪俊鎮鏄鏇存敼 initlog -c "$SNMPD $OPTIONS" success || failure

涓"$SNMPD $OPTIONS" success || failure 涔熷氨鏄鍘繪帀鍓嶉潰鐨剗nitlog -c 緇撴灉榪樻槸瑙e喅涓嶄簡闂棰樸

鍐嶆煡璧勬枡鍙戠幇緙栬瘧瀹夎呯殑ssh鍦ㄥ惎鍔ㄦ湇鍔$殑鏃跺 闇瑕佹洿鏀規枃浠惰礬寰勮屼笖涓瀹氭敞鎰忎慨鏀硅礬寰勶紝涓嶇劧鎶ラ敊銆

#[ -f /etc/sysconfig/sshd ] . /etc/sysconfig/sshd

KEYGEN=/usr/local/bin/ssh-keygen

SSHD=/usr/local/sbin/sshd

RSA1_KEY=/usr/local/etc/ssh_host_key

RSA_KEY=/usr/local/etc/ssh_host_rsa_key

DSA_KEY=/usr/local/etc/ssh_host_dsa_key

璇峰ぇ瀹舵牴鎹鑷宸辯殑瀹為檯鎯呭喌鏇存敼錛侊紒

❻ centos7 編譯安裝完openssh 7.5,連接出現異常

selinux 埠允許了嗎?
yum install policycoreutils-python
semanage port -l |grep ssh
semanage port -a -t ssh_port_t -p tcp 埠號
systemctl restart sshd.service

熱點內容
動態規劃01背包演算法 發布:2024-11-05 22:17:40 瀏覽:849
nasm編譯器如何安裝 發布:2024-11-05 22:01:13 瀏覽:181
登錄密碼在微信的哪裡 發布:2024-11-05 22:00:29 瀏覽:739
c防止反編譯工具 發布:2024-11-05 21:56:14 瀏覽:247
安卓虛擬機怎麼用 發布:2024-11-05 21:52:48 瀏覽:344
php時間搜索 發布:2024-11-05 20:58:36 瀏覽:479
燕山大學編譯原理期末考試題 發布:2024-11-05 20:13:54 瀏覽:528
華為電腦出現臨時伺服器 發布:2024-11-05 20:05:08 瀏覽:408
斗戰神免費挖礦腳本 發布:2024-11-05 19:53:25 瀏覽:665
網吧伺服器分別是什麼 發布:2024-11-05 19:45:32 瀏覽:392