亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SSH遠程登錄和端口轉發(fā)詳解

 更新時間:2017年03月08日 08:43:04   作者:LoyaChen  
這篇文章主要介紹了關于SSH遠程登錄和端口轉發(fā)的相關資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

介紹

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

SSH 只是協(xié)議,有多種實現(xiàn)方式,本文基于其開源實現(xiàn) OpenSSH

遠程登錄

SSH主要用于遠程登錄:

$ ssh user@host

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

$ ssh host

SSH 協(xié)議默認端口是22,指定端口可使用 -p 參數(shù)

$ ssh -p 2222 user@host

MITM

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

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

However!

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

密碼登錄

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

$ ssh 10.0.0.12
The 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)?

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

公鑰指紋(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

系統(tǒng)提示遠程主機已加入到受信主機列表:

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之中。下次再連接這臺主機,系統(tǒng)會發(fā)現(xiàn)它的公鑰已經(jīng)保存在本地了,從而跳過警告部分,直接提示輸入密碼。

公鑰登陸

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

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

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

$ ls -1 ~/.ssh
id_rsa
id_rsa.pub
known_hosts

需要把公鑰發(fā)送到遠程主機:

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

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

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

> #RSAAuthentication yes
> #PubkeyAuthentication yes
> #AuthorizedKeysFile  .ssh/authorized_keys
>

authorized_keys文件

遠程主機將用戶的公鑰,保存在 $HOME/.ssh/authorized_keys 中。公鑰是一段字符串,也可以手動追加到遠程主機authorized_keys文件中,每行一個。

也可以通過如下命令代替ssh-copy-id,解釋公鑰的保存過程:

$ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

遠程操作

SSH可以用于直接在遠程主機上操作

# 查看遠程主機Nginx進程
ssh 10.0.0.12 'ps -ef | grep nginx'

端口轉發(fā)

本地轉發(fā)

本地轉發(fā)是指:把本地主機端口通過待登錄主機端口轉發(fā)到遠程主機端口上去。

本地轉發(fā)通過參數(shù) -L 指定,格式: -L [本地主機:]本地主機端口:遠程主機:遠程主機端口

ssh -L 5000:www.google.com:80 user@host

通過上面的命令,訪問本地5000端口,相當于訪問遠程主機www.google.com的80端口,并且這是通過通過登錄主機來安全地轉發(fā)數(shù)據(jù)的。當不能直接訪問遠程主機某端口,而登錄主機可以訪問時,可以使用這種方式將遠程主機端口綁定到本地。

遠程轉發(fā)

遠程轉發(fā)是指:把登錄主機端口通過本地主機端口轉發(fā)到遠程主機.

遠程轉發(fā)通過參數(shù) -R 指定,格式: -R 登錄主機端口:遠程主機:遠程主機端口。

ssh -R 8080:localhost:80 user@host

通過上面的命令,訪問登錄主機的 8080 端口就相當于訪問 localhost:80!

例如下面這種場景:我在本機起了一個web服務,希望別人從外網(wǎng)訪問或測試,但是外網(wǎng)是不能直接訪問我的內網(wǎng)機器。所以我可以在本機上執(zhí)行上面的命令,這樣就就可以通過訪問登錄主機的80端口,來訪問本機的80端口了,從而實現(xiàn)外網(wǎng)訪問內網(wǎng)的應用了。簡直太方便~

動態(tài)轉發(fā)

動態(tài)轉發(fā)不需要指定特定的目標主機和端口號,可以實現(xiàn)不加密的網(wǎng)絡連接,全部走SSH連接,從而提高安全性。

例如把本地5000端口的數(shù)據(jù),都通過SSH傳向登錄主機:

ssh -D 5000 user@host

例如可以用于科學上網(wǎng)的場景,在瀏覽器中設置代理類型為 SOCKS(5),主機及端口為127.0.0.1:5000 就可以通過登錄主機科學上網(wǎng)了。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Centos7下PHP安裝gd庫的實例講解

    Centos7下PHP安裝gd庫的實例講解

    下面小編就為大家分享一篇Centos7下PHP安裝gd庫的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • apache 開啟重定向 rewrite的實現(xiàn)方法

    apache 開啟重定向 rewrite的實現(xiàn)方法

    這篇文章主要介紹了apache 開啟重定向 rewrite的實現(xiàn)方法的相關資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • Linux一個增強的截圖及分享工具:ScreenCloud

    Linux一個增強的截圖及分享工具:ScreenCloud

    今天小編就為大家分享一篇關于Linux一個增強的截圖及分享工具:ScreenCloud,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Red Hat Linux 安全設置方法

    Red Hat Linux 安全設置方法

    本文從各方面闡述了Red Hat Linux的安全配置方法,如果您使用的是Windows Server 2003服務器的話,請看Windows Server 2003 系統(tǒng)配置方案。
    2009-10-10
  • 批處理模式下運行 top 命令的方法

    批處理模式下運行 top 命令的方法

    top 命令 是每個人都在使用的用于 監(jiān)控 Linux 系統(tǒng)性能 的最好的命令。這篇文章給大家介紹批處理模式下運行 top 命令的方法,感興趣的朋友一起看看吧
    2019-10-10
  • 在Ubuntu 14 上安裝 Nginx-RTMP 流媒體服務器的教程

    在Ubuntu 14 上安裝 Nginx-RTMP 流媒體服務器的教程

    RTMP流媒體協(xié)議是 一套 Adobe 開發(fā)的音頻視頻實時傳輸協(xié)議;nginx-rtmp 是一個基于nginx的 RTMP服務模塊,開源,免費,接下來通過本文給大家介紹在Ubuntu 14 上安裝 Nginx-RTMP 流媒體服務器,需要的朋友可以參考下
    2019-11-11
  • Linux中sudo、su和su -命令的區(qū)別小結

    Linux中sudo、su和su -命令的區(qū)別小結

    我們知道,在Linux下對很多文件進行修改都需要有root(管理員)權限,比如對/ect/profile等文件的修改。下面這篇文章主要給大家總結介紹了關于Linux中sudo、su和su -命令的區(qū)別的相關資料,需要的朋友可以參考下
    2018-09-09
  • 安全檢測Unix和Linux服務器安全設置入門精講

    安全檢測Unix和Linux服務器安全設置入門精講

    盡管為服務器設計軟件的軟件工程師們想方設法提高系統(tǒng)的安全性,然而由于系統(tǒng)管理員的水平參差不齊或安全意識底下,往往給黑客提供了入侵的機會。
    2008-05-05
  • 在Linux系統(tǒng)上查看Apache服務器的錯誤日志

    在Linux系統(tǒng)上查看Apache服務器的錯誤日志

    這篇文章主要介紹了在Linux系統(tǒng)上查看Apache服務器的錯誤日志,是服務器運維必備的基礎知識,需要的朋友可以參考下
    2015-07-07
  • ubuntu系統(tǒng)theano和keras的安裝方法

    ubuntu系統(tǒng)theano和keras的安裝方法

    這篇文章主要介紹了ubuntu系統(tǒng)theano和keras的安裝方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12

最新評論