国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

SSH遠程登錄和端口轉發詳解

2024-07-09 22:40:25
字體:
來源:轉載
供稿:網友

介紹

SSH 是創建在應用層和傳輸層基礎上的安全協議,為計算機上的 Shell(殼層)提供安全的傳輸和使用環境。

SSH 只是協議,有多種實現方式,本文基于其開源實現 OpenSSH

遠程登錄

SSH主要用于遠程登錄:

$ ssh user@host

當本地用戶名和遠程用戶名一致時,可省略用戶名:

$ ssh host

SSH 協議默認端口是22,指定端口可使用 -p 參數

$ ssh -p 2222 user@host

MITM

SSH 采用公鑰加密的方式來保證傳輸安全。過程如下:

客戶端發起登錄請求,遠程主機將自己的公鑰發個用戶; 客戶端使用該公鑰將登錄密碼加密后發送給遠程主機; 遠程主機使用私鑰解密登錄密碼,如密碼正確則允許客戶端登錄。

However!

由于 SSH 協議的公鑰是自己簽發的,并不像HTTPS 的SSL證書是有CA機構頒發的。如果有人插在用戶與遠程主機之間,截獲登錄請求,然后冒充遠程主機,將偽造的公鑰發給客戶端,那么用戶則很難辨別真偽。 這樣就可以獲取用戶登錄密碼,用來登錄遠程主機。這就是MITM,(Man-in-the-middle attack,中間人攻擊)

密碼登錄

第一次登錄遠程主機,會有如下提示:

$ ssh 10.0.0.12The authenticity of host '10.0.0.12 (10.0.0.12)' can't be established.RSA key fingerprint is 3a:45:30:52:b5:ea:2a:55:e7:23:41:ef:16:76:0b:8d.Are you sure you want to continue connecting (yes/no)?

意思是:無法確認遠程主機真實性,指知道它的公鑰指紋,是否繼續連接?

公鑰指紋(fingerprint):公鑰采用RSA算法,長度較長難以比對,所以對其進行MD5計算,得到128位的指紋,即上例中的3a:45:30:52:b5:ea:2a:55:e7:23:41:ef:16:76:0b:8d

其實并沒有什么有效便捷的方式確認公鑰指紋的真實性,確認接受遠程主機公鑰:

Are you sure you want to continue connecting (yes/no)? yes

系統提示遠程主機已加入到受信主機列表:

Warning: Permanently added '10.0.0.12' (RSA) to the list of known hosts.

然后提示輸入密碼:

root@10.0.0.11's password:

輸入密碼正確,就可以正常登陸了。

當遠程主機的公鑰被接受以后,它就會被保存在文件$HOME/.ssh/known_hosts之中。下次再連接這臺主機,系統會發現它的公鑰已經保存在本地了,從而跳過警告部分,直接提示輸入密碼。

公鑰登陸

除了密碼登錄,SSH 還支持公鑰登錄。

“公鑰登錄”原理是:用戶將自己的公鑰儲存在遠程主機上。登錄的時候,遠程主機會向用戶發送一段隨機字符串,用戶用自己的私鑰加密后,再發回來。遠程主機用事先儲存的公鑰進行解密,如果成功,就證明用戶是可信的,直接允許登錄shell,不再要求輸入密碼。

公鑰登錄需要用戶提供自己的公鑰,一般保存在 $HOME/.ssh/ 目錄下,id_rsa是私鑰,id_rsa.pub是公鑰。如果沒有可以通過ssh-keygen生成。

$ ls -1 ~/.sshid_rsaid_rsa.pubknown_hosts

需要把公鑰發送到遠程主機:

# ssh-copy-id [-i [identity_file]] [user@]machine$ ssh-copy-id root@10.0.0.12

此后再登錄就不需要輸入密碼了。

如果還是無法使用公鑰登錄,可以檢查一下遠程主機SSH配置/etc/ssh/sshd_config,打開如下注釋并重啟SSH服務[我發現CentOS release 6.8 (Final)默認SSH配置中注釋掉以下內容也是可以使用公鑰登錄的]:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卢湾区| 米泉市| 吉林省| 德格县| 徐水县| 大田县| 云梦县| 花莲市| 密山市| 合肥市| 修文县| 宝山区| 汾阳市| 姜堰市| 武城县| 黄山市| 九江市| 威宁| 滨州市| 宁武县| 荔浦县| 霞浦县| 紫阳县| 襄城县| 平远县| 西和县| 霍林郭勒市| 花垣县| 新营市| 台前县| 沅陵县| 罗平县| 贡嘎县| 平武县| 涟源市| 唐山市| 郎溪县| 丁青县| 陕西省| 迁西县| 河北省|