最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

介紹

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

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

遠(yuǎn)程登錄

SSH主要用于遠(yuǎn)程登錄:

$ ssh user@host

當(dāng)本地用戶(hù)名和遠(yuǎn)程用戶(hù)名一致時(shí),可省略用戶(hù)名:

$ ssh host

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

$ ssh -p 2222 user@host

MITM

SSH 采用公鑰加密的方式來(lái)保證傳輸安全。過(guò)程如下:

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

However!

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

密碼登錄

第一次登錄遠(yuǎn)程主機(jī),會(huì)有如下提示:

$ 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)?

意思是:無(wú)法確認(rèn)遠(yuǎn)程主機(jī)真實(shí)性,指知道它的公鑰指紋,是否繼續(xù)連接?

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

其實(shí)并沒(méi)有什么有效便捷的方式確認(rèn)公鑰指紋的真實(shí)性,確認(rèn)接受遠(yuǎn)程主機(jī)公鑰:

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

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

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

然后提示輸入密碼:

root@10.0.0.11's password:

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

當(dāng)遠(yuǎn)程主機(jī)的公鑰被接受以后,它就會(huì)被保存在文件$HOME/.ssh/known_hosts之中。下次再連接這臺(tái)主機(jī),系統(tǒng)會(huì)發(fā)現(xiàn)它的公鑰已經(jīng)保存在本地了,從而跳過(guò)警告部分,直接提示輸入密碼。

公鑰登陸

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

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

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

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

需要把公鑰發(fā)送到遠(yuǎn)程主機(jī):

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

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

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

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

authorized_keys文件

遠(yuǎn)程主機(jī)將用戶(hù)的公鑰,保存在 $HOME/.ssh/authorized_keys 中。公鑰是一段字符串,也可以手動(dòng)追加到遠(yuǎn)程主機(jī)authorized_keys文件中,每行一個(gè)。

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

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

遠(yuǎn)程操作

SSH可以用于直接在遠(yuǎn)程主機(jī)上操作

# 查看遠(yuǎn)程主機(jī)Nginx進(jìn)程
ssh 10.0.0.12 'ps -ef | grep nginx'

端口轉(zhuǎn)發(fā)

本地轉(zhuǎn)發(fā)

本地轉(zhuǎn)發(fā)是指:把本地主機(jī)端口通過(guò)待登錄主機(jī)端口轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)端口上去。

本地轉(zhuǎn)發(fā)通過(guò)參數(shù) -L 指定,格式: -L [本地主機(jī):]本地主機(jī)端口:遠(yuǎn)程主機(jī):遠(yuǎn)程主機(jī)端口

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

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

遠(yuǎn)程轉(zhuǎn)發(fā)

遠(yuǎn)程轉(zhuǎn)發(fā)是指:把登錄主機(jī)端口通過(guò)本地主機(jī)端口轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī).

遠(yuǎn)程轉(zhuǎn)發(fā)通過(guò)參數(shù) -R 指定,格式: -R 登錄主機(jī)端口:遠(yuǎn)程主機(jī):遠(yuǎn)程主機(jī)端口。

ssh -R 8080:localhost:80 user@host

通過(guò)上面的命令,訪(fǎng)問(wèn)登錄主機(jī)的 8080 端口就相當(dāng)于訪(fǎng)問(wèn) localhost:80!

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

動(dòng)態(tài)轉(zhuǎn)發(fā)

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

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

ssh -D 5000 user@host

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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Linux之如何設(shè)置CPU Performance模式

    Linux之如何設(shè)置CPU Performance模式

    這篇文章主要介紹了Linux之如何設(shè)置CPU Performance模式問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Linux/CentOS服務(wù)器安全配置通用指南

    Linux/CentOS服務(wù)器安全配置通用指南

    一般來(lái)說(shuō),對(duì) Linux 系統(tǒng)的安全設(shè)定包括取消不必要的服務(wù)、限制遠(yuǎn)程存取、隱藏重要資料、修補(bǔ)安全漏洞、采用安全工具以及經(jīng)常性的安全檢查等,本文為大家分享Linux/CentOS服務(wù)器安全配置的通用方案
    2018-10-10
  • 詳解Linux下JDK、Tomcat的安裝及配置

    詳解Linux下JDK、Tomcat的安裝及配置

    本篇文章主要介紹了詳解Linux下JDK、Tomcat的安裝及配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 如何卸載linux自帶openjdk并安裝sun jdk

    如何卸載linux自帶openjdk并安裝sun jdk

    這篇文章主要介紹了如何卸載linux自帶openjdk并安裝sun jdk,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Apache Thrift環(huán)境配置

    Apache Thrift環(huán)境配置

    這篇文章主要介紹了Apache Thrift環(huán)境配置的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • 如何使用shell在多服務(wù)器上批量操作

    如何使用shell在多服務(wù)器上批量操作

    日常工作中,我們常需要同時(shí)在多臺(tái)服務(wù)器上執(zhí)行同樣的命令,如對(duì)比日志、檢查服務(wù)等。這就需要我們有服務(wù)器批量操作的能力,我們可以借用 ssh公鑰登陸的能力,方便地實(shí)現(xiàn)在多個(gè)服務(wù)器上批量執(zhí)行命令。
    2021-05-05
  • Linux中使用NTP保持精確時(shí)間的方法詳解

    Linux中使用NTP保持精確時(shí)間的方法詳解

    Linux系統(tǒng)下,一般使用ntp服務(wù)來(lái)同步不同機(jī)器的時(shí)間,NTP 是網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol)的簡(jiǎn)稱(chēng),下面這篇文章主要給大家介紹了關(guān)于Linux中使用NTP保持精確的時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-03-03
  • 詳解Linux文件系統(tǒng):ext4及更高版本

    詳解Linux文件系統(tǒng):ext4及更高版本

    今天小編就為大家分享一篇關(guān)于Linux文件系統(tǒng):ext4及更高版本的詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-09-09
  • linux查看服務(wù)端證書(shū)方式(keytool和openssl)

    linux查看服務(wù)端證書(shū)方式(keytool和openssl)

    介紹了通過(guò)keytool和openssl工具來(lái)查看服務(wù)器端的SSL/TLS證書(shū),包括直接抓取服務(wù)器證書(shū)和下載證書(shū)文件的方法,詳細(xì)說(shuō)明了每種方法的操作步驟和輸出結(jié)果,幫助用戶(hù)驗(yàn)證證書(shū)有效性和進(jìn)行信任鏈驗(yàn)證
    2024-10-10
  • 解密 Linux 版本信息的方法

    解密 Linux 版本信息的方法

    這篇文章主要介紹了解密 Linux 版本信息的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論

乌海市| 灵寿县| 苏州市| 唐山市| 南木林县| 鹤庆县| 建湖县| 丰原市| 石台县| 墨江| 通榆县| 喀喇| 河间市| 香格里拉县| 江川县| 娱乐| 进贤县| 西和县| 健康| 万盛区| 航空| 丁青县| 理塘县| 古蔺县| 东明县| 山东| 谢通门县| 隆回县| 高清| 望奎县| 鲁甸县| 衢州市| 额敏县| 武功县| 濉溪县| 西林县| 兰州市| 定兴县| 宣城市| 三明市| 崇左市|