SSH協議的詳細介紹
一、 前言
使用SSH可以在本地主機和遠程伺服器之間進行加密地傳輸數據,實現數據的安全。而OpenSSH是SSH協議的免費開源實現,它採用安全、加密的網路連接工具代替了telnet、ftp等古老明文傳輸工具。
SSH(Secure Shell)是建立在應用層和傳輸層基礎上的安全協議。SSH是目前較可靠,專為遠程登陸會話和其他網路服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。
SSH可以將所有的傳輸數據加密,這樣「中間人」這種攻擊方式就不可能實現了,而且也可以防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據經過壓縮的,可以加快傳輸的速度。
二、 SSH工作原理
SSH是由服務端和客戶端的軟體組成,服務端是一個守護進程,它在後台運行並響應來自客戶端的連接請求。
SSH的工作機制大體是:本地客戶端發送一個連接請求到遠程的服務端,服務端檢查申請的包和IP地址再發送密鑰給SSH客戶端,本地再將密鑰發回給服務端,到此為止,連接建立。
啟動SSH伺服器後,sshd進程運行並在默認的22埠進行監聽。安全驗證方式:
基於口令的安全驗證(賬號密碼),也有可能受到中間人攻擊基於密鑰的安全驗證,就是提供一對密鑰,把公鑰放在需要訪問的伺服器上,如果連接到SSH伺服器上,客戶端就會向伺服器發出請求,請求用密鑰進行安全驗證,伺服器收到請求之後,先在改伺服器的主目錄下尋找公鑰,然後把它和發送過來的公鑰進行比較。如果兩個密鑰一致,伺服器就用公鑰加密「質詢」並把它發送給客戶端。客戶端收到「質詢」之後就可以用私鑰解密再把它發給伺服器端。基於這種方式,相對比較安全。
三、OpenSSH伺服器安裝和配置,客戶端一般都有
先查看Linux系統中openssh-server、openssh、openssh-clients、openssh-askpass軟體包是否已經安裝,如果沒有則安裝。
依賴關係太多了,固用yum方式安裝:yum install openssh-askpass -y
好了,都裝好了。
四、客戶端配置
ssh: 配置文件 /etc/ssh/ssh_config
1、客戶端程序
例子:客戶端ip:192.168.1.120 服務端ip:192.168.1.109
生成公鑰:
測試:
刪除密鑰 :rm -rf .ssh/id_rsa*
2、scp命令,類似與cp
將本地的/etc/fstab 複製到服務端主機的/tmp目錄下
將遠程主機上的的/root/1.sh複製過來
3、sftp安全的文件傳輸程序,類似於ftp,它的所有操作都是加密ssh傳輸。
連接至遠程主機,可以get一些資源
五、伺服器端配置
幾個主要的配置如下:
六、ssh 服務的最佳實踐:
1、不要使用默認埠;
2、禁止使用 protocol version 1;
3、限制可登錄的用戶;
4、設定空閑會話超時時長;
5、利用防火牆設置 ssh 訪問策略;
6、僅監聽特定的 IP 地址;
7、基於口令認證時,使用強密碼策略; tr -dc A-Za-z0-9_
8、使用基於密鑰的認證;
9、禁止使用空密碼;
10、禁止 root 用戶直接登錄;
11、限制 ssh 的訪問頻度和並發在線數;
12、做好日誌,經常分析; /var/log/secure
文章來源:馬哥教育
官方微信:馬哥linux運維
技術交流群:485374463
※Linux的常用命令
※MySQL主從複製架構及原理
※10分鐘帶你光速入門運維工具之-Puppet
TAG:馬哥Linux |
※TCP/IP 協議:經常接觸的協議介紹
※使用 SSH和SFTP 協議
※SIP協議分析
※HTTPS協議詳解(四):TLS/SSL握手過程
※聊聊HTTPS SSL/TLS協議原理
※WSN中LEACH協議的改進與研究
※聊聊 HTTPS和SSL/TLS 協議
※TCP/IP協議棧之乙太網協議
※關於iSCSI協議您了解多少?
※從一道流量分析題了解SSL與FTP協議
※帶你看透HTTP協議
※SOAP HTTP 協議
※為你的網站切換 HTTPS 協議
※HTTP協議的請求與響應
※基於SSL實現數據傳輸加密協議—HTTPS
※Siemens MPI協議解析
※正確認識介面/協議 教你怎麼選擇合適的SSD
※解析樓控協議BACnet/IP
※HTTP協議的狀態
※路由協議之OSPF的概述