亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SSH命令行幫你實(shí)現(xiàn)6種“貼心”的安全應(yīng)用

        2018-09-10 10:44:58戎力
        關(guān)鍵詞:指令

        戎力

        安全Shell是一種用于安全連接的網(wǎng)絡(luò)協(xié)議。它被大量地運(yùn)用在針對(duì)各種服務(wù)器的連接、修改、上傳和最后退出的環(huán)節(jié)中。這些操作有時(shí)候可以通過工具來(lái)實(shí)現(xiàn),有時(shí)甚至可以直接使用終端。在這里,您將了解到在標(biāo)準(zhǔn)的SSH之外使用終端的一些技巧。

        在深入討論SSH技術(shù)之前,我們假設(shè)您對(duì)SSH密鑰的安全性和使用已經(jīng)具有了一定的基本知識(shí)。在這篇文章中,我們將使用用戶來(lái)指代SSH的用戶,用yourserver.tld指代域名或IP地址,所以您需要自行替換成正確的用戶名和主機(jī)名信息。

        為了修改SSH服務(wù)器端的配置,您需要直接以root身份登錄,或者通過sudo進(jìn)行一般用戶權(quán)限的提升。而為了使得在/etc/ssh/sshd_config中的更改能在系統(tǒng)范圍內(nèi)生效,您需要重新加載SSH服務(wù)。

        根據(jù)您所使用的操作系統(tǒng)不同,具體操作上也會(huì)有所差異。例如在基于Debian的系統(tǒng)上,您需要以root身份或是做sudo提權(quán)后,在終端里輸入service ssh reload。每次當(dāng)您更改了服務(wù)器端的SSH配置之后,就需要重新加載(或重新啟動(dòng))其對(duì)應(yīng)的服務(wù)。

        配置順序

        和其他Linux系統(tǒng)工具一樣,配置選項(xiàng)生效的順序如下:

        ·在終端/應(yīng)用程序中直接給出命令行的選項(xiàng)。

        ·用戶的配置文件(~/.ssh/config)。

        ·客戶端的系統(tǒng)范圍配置文件(/etc/ssh/ssh_config)。

        這就意味著:任何通過命令行所輸入的SSH參數(shù)都比那些在配置文件中的選項(xiàng)有著優(yōu)先的執(zhí)行級(jí)別。因此對(duì)于單次性的操作而言,最好方式是直接使用命令輸入;而對(duì)于您要經(jīng)常連接的特定主機(jī),或是要用到不同用戶名的情況,最好還是保存在配置文件中。SSH守護(hù)程序本身用到的,系統(tǒng)范圍的配置文件被存放在etc/ssh/sshd_config處。

        主機(jī)匹配

        您可以在各種SSH配置文件中使用通配符,也就是說(shuō)您可以把一個(gè)指令集應(yīng)用到大范圍的主機(jī)上,然后對(duì)每個(gè)主機(jī)再使用一些特定的指令,例如:

        在~/.ssh/config中,

        ·Host myhost-*

        ·Port 1234

        ·Host myhost-one

        ·Hostname myhost-one.yourserver.tld

        ·User admin

        ·Host myhost-two

        ·Hostname myhost-two.yourserver.tld

        ·User anotheradmin

        在上面的例子中,兩臺(tái)服務(wù)器使用相同端口號(hào)1234,不同的用戶名建立不同的連接。有了這些基礎(chǔ)知識(shí),我們就可以開始用SSH來(lái)實(shí)現(xiàn)以下6種應(yīng)用了。

        1. SFTP

        “想訪問存儲(chǔ)在服務(wù)器上的文件,但無(wú)需安裝任何額外的軟件?!?/p>

        大多數(shù)FTP應(yīng)用程序(例如FileZilla)都可以使用SFTP(SSH的文件傳輸協(xié)議),它是將文件傳輸?shù)侥腤eb主機(jī)的首選方式。在其GUI上,您可以填寫地址、端口、用于SSH連接的用戶名以及要傳輸?shù)奈募?。通常情況下,您需要進(jìn)入應(yīng)用程序的設(shè)置界面,禁用固定的密碼,而改用您的SSH私鑰來(lái)建立連接。

        在終端上,您可以通過輸入sftp,來(lái)調(diào)出交互式控制臺(tái)。請(qǐng)記住,由于其SFTP只提供有限的命令選項(xiàng),如:創(chuàng)建目錄、瀏覽訪問的目錄和下載/上傳文件,因此您無(wú)法在控制臺(tái)內(nèi)使用到SSH的其他所有命令。您可以通過鏈接:https://itservices.usc. edu/sftp/cline/來(lái)了解更多的SFTP命令行操作。

        2. KeepAlive

        “我的防火墻老是關(guān)閉我的連接。”

        有時(shí)候,您的防火墻可能會(huì)中斷掉一些正常的連接。下面就有三個(gè)指令能夠防止SSH連接被過早地掐斷。

        TCP KeepAlive可以在SSH的客戶端和守護(hù)進(jìn)程的配置文件中使用。它決定了是否需要發(fā)送保持連接的TCP消息。TCP KeepAlive的默認(rèn)值為yes。它會(huì)發(fā)出TCP消息,提醒防火墻注意到連接的繼續(xù),而不要掐斷它。當(dāng)然有些用戶在不需要的時(shí)候可以將TCP KeepAlive設(shè)置為no。

        ServerAliveInterval驗(yàn)證其連接是否存活。在客戶端配置中,您可以指定客戶端在發(fā)送數(shù)據(jù)包給服務(wù)器之前所需等待的秒數(shù)。如果將該值設(shè)置為0,即禁用此選項(xiàng),則會(huì)在一段空閑的時(shí)間之后斷開SSH會(huì)話。而指令ServerAliveCountMax指定了從發(fā)送數(shù)據(jù)包,到該連接由于沒有來(lái)自服務(wù)器的響應(yīng)而被取消的反復(fù)嘗試次數(shù)(一般為整數(shù))。

        ClientAliveInterval是在SSH守護(hù)進(jìn)程的服務(wù)配置文件/etc/ssh/sshd_config中所使用的指令。它指定了服務(wù)器在發(fā)送數(shù)據(jù)包給客戶端之前所需等待的秒數(shù)。您可以將該值設(shè)置為0,即禁用該選項(xiàng)。而指令ClientAliveCountMax指定了從發(fā)送數(shù)據(jù)包,到該連接由于沒有來(lái)自客戶端的響應(yīng)而被取消的反復(fù)嘗試次數(shù)(一般為整數(shù))。

        所有主機(jī)都使用相同的客戶端SSH配置文件,來(lái)設(shè)置keep alive的參數(shù):

        在~/.ssh/config中

        ·Host *

        ·ServerAliveInterval 30

        ·ServerAliveCountMax 10

        這樣的配置意味著客戶在發(fā)送一個(gè)空包之前要等待30s,并且要嘗試多達(dá)10次,以確認(rèn)在服務(wù)器無(wú)響應(yīng)的情況下中斷連接。

        3. SSH代理

        “我覺得每次輸入密碼短語(yǔ)很繁瑣,也許我應(yīng)該生成一些密鑰而非密碼短語(yǔ)?!?/p>

        一種常見且有效的安全做法是加密您的SSH私鑰,并用密碼短語(yǔ)來(lái)進(jìn)行解密。這種方法的缺點(diǎn)是:您每次都必須繁瑣地重新輸入密碼以初始化SSH連接,而這本質(zhì)上就是反復(fù)輸入密碼的過程。

        為了解決這個(gè)問題,可以使用ssh-agent。它是一種能在會(huì)話期間將私鑰保持在內(nèi)存之中的工具。當(dāng)代理啟動(dòng)后,所有需要SSH連接的窗口和應(yīng)用程序都將通過該代理來(lái)獲得您的私鑰,因此只需要在會(huì)話開始的時(shí)候一次性輸入密碼短語(yǔ)便可。

        在大多數(shù)Linux操作系統(tǒng)上,SSH代理是默認(rèn)運(yùn)行的,因此不需要額外進(jìn)行安裝。如果您想檢查ssh代理是否正在運(yùn)行,您可以在終端里輸入:

        .ps x | grep ssh-agent

        如果還沒有運(yùn)行的話,您可以這樣啟動(dòng)它:

        .eval $(ssh-agent)

        一旦它運(yùn)行起來(lái),您就可以羅列出ssh代理當(dāng)前可用的所有密鑰:

        .ssh-add L

        如果要用的密鑰丟失,您可以通過ssh-add / path/to/your/ssh/privatekey來(lái)添加它。當(dāng)您想連接一臺(tái)主機(jī),卻碰到Too many authentication failures for user的錯(cuò)誤時(shí),這就意味著SSH代理正在試圖檢查所有可用的密鑰。因此最好的方法是在您的配置文件中定義一個(gè)IdentityFile / path/to/your/ssh/privatekey/forthishost。如果您要確保只能使用由IdentityFile所定義的連接,則可以在配置中使用指令I(lǐng)dentitiesOnly yes,它會(huì)告訴SSH只使用由終端或配置文件所提供的密鑰。請(qǐng)看如下的例子:

        在~/.ssh/config中,

        ·Host yourserver

        ·HostName yourserver.tld

        ·IdentityFile~/.ssh/yourprivatekeyname

        ·IdentitiesOnly yes

        ·User user

        如果我就只想在最開始的時(shí)候輸入一次密碼短語(yǔ),之后就算我從一臺(tái)主機(jī)連接到另一臺(tái)主機(jī)的時(shí)候,也不要提示我再次輸入,這時(shí)候可以使用“代理轉(zhuǎn)發(fā)”。

        為了能夠在互連的主機(jī)之間共用相同的信任憑證,代理也是可以被轉(zhuǎn)發(fā)的。雖然這樣的轉(zhuǎn)發(fā)非常方便,但是請(qǐng)記?。捍韮H能將您的私鑰保存在內(nèi)存之中。一旦某個(gè)惡意程序攻破了聯(lián)網(wǎng)的一臺(tái)主機(jī),就能使用您的密鑰在其他主機(jī)上執(zhí)行各種命令??梢姡磙D(zhuǎn)發(fā)是一種不安全的方法,只能在您所連接的信任主機(jī)上被使用。

        為了用到代理轉(zhuǎn)發(fā),您需要在客戶端的ssh_config上設(shè)置ForwardAgent yes,并在任何需要用到轉(zhuǎn)發(fā)代理的服務(wù)器上的/etc/ssh/sshd_config里設(shè)置AllowAgentForwarding yes。

        4.通過本地端口轉(zhuǎn)發(fā)的隧道

        “我想要做的事情,本地電腦不允許,但我知道哪里會(huì)有一臺(tái)電腦是允許的?!?/p>

        隧道是SSH的一種最常見的高級(jí)使用案例。它在SSH連接內(nèi)通過加密應(yīng)用的流量,從而實(shí)現(xiàn)安全保護(hù)。這對(duì)于傳統(tǒng)軟件或其他安全性欠佳的應(yīng)用和系統(tǒng)來(lái)說(shuō)是非常有用的,它為軟件設(shè)置了一個(gè)不能也無(wú)法改變的安全包裝,以抵御不安全網(wǎng)絡(luò)環(huán)境。

        (1)服務(wù)器端

        服務(wù)器端可以修改文件/etc/ssh/sshd_config中的配置。由于以#開頭的行是被注釋掉的,因此如果您想使用該選項(xiàng)的話,只要復(fù)制出另外一行進(jìn)行修改或者直接取消掉注釋便可。對(duì)于端口轉(zhuǎn)發(fā)式的隧道,為了使其工作,您需要開啟TCP的轉(zhuǎn)發(fā)。

        在/etc/ssh/sshd_config中,

        ·AllowTcpForwarding yes。

        如果您修改了服務(wù)器的配置文件,請(qǐng)記得重新加載SSH服務(wù)。至于如何重載或重新啟動(dòng)您的服務(wù)端的服務(wù),則取決于操作系統(tǒng)的類型。在大多數(shù)情況下,應(yīng)該是如下命令:

        ·service ssh reload

        (2)客戶端

        在客戶端有好幾種方法來(lái)使用SSH隧道。大多數(shù)情況下,可以這樣來(lái)實(shí)現(xiàn)SSH隧道:

        如果您想對(duì)一個(gè)僅供另一臺(tái)機(jī)器訪問的數(shù)據(jù)庫(kù)來(lái)執(zhí)行查詢操作,那么就需要用隧道來(lái)連接那臺(tái)機(jī)器。下面的例子展示了如何運(yùn)用yourserver.tld來(lái)隧道連接到一臺(tái)PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器,并且在那里使用基于終端的psql frontend。

        ①ssh-L5000:psql.server.ip:5432 user@yourserver.tld

        ②psql-p 5000-h 127.0.0.1-U postgres

        一些網(wǎng)站被您的網(wǎng)絡(luò)所封鎖,所以要用隧道來(lái)進(jìn)入一臺(tái)允許各種連接和能夠?yàn)g覽這些網(wǎng)站的主機(jī)。下面的命令能夠使用本機(jī)以隧道的方式進(jìn)入另一臺(tái)不受限制的主機(jī)。在本地計(jì)算機(jī)上,您可以在瀏覽器中輸入并打開http://localhost: 1337,它將用默認(rèn)的HTTP 80端口打開yourwebsite.com。

        ssh -L 1337:yourwebsite.com:80

        5. X11轉(zhuǎn)發(fā)

        “我并沒有一些昂貴軟件的許可證,我只能在連上服務(wù)器后,顯示在我家里的屏幕上?!?/p>

        您可以通過SSH來(lái)初始化X11轉(zhuǎn)發(fā),這就意味著您可以顯示遠(yuǎn)程的計(jì)算機(jī)桌面環(huán)境,并將各種X11包轉(zhuǎn)發(fā)到您所使用的計(jì)算機(jī)上。X11轉(zhuǎn)發(fā)有著廣泛的適用性,特別是在您必須使用某個(gè)特定軟件的GUI時(shí)。在下面的例子中,我們將測(cè)試用X11來(lái)轉(zhuǎn)發(fā)xclock。

        (1)先決條件

        為了能將X11包轉(zhuǎn)發(fā)給客戶端,xauth包必須被預(yù)先安裝在服務(wù)器上。所以如果你想測(cè)試xclock的話,就必須提前安裝好它。

        (2)服務(wù)器

        在服務(wù)器上,需要在/etc/ssh/sshd_config里啟用X11Forwarding。具體操作是:定位到具有X11Forwarding的一行,將其設(shè)置為yes,也就是說(shuō):如果該行已經(jīng)存在,并被注釋掉了的話,您直接刪除前面的#便可。

        在/etc/ssh/sshd_config中,

        ·X11Forwarding yes

        在修改了配置文件之后,請(qǐng)不要忘記重新加載SSH服務(wù)。

        (3)客戶端

        ·ssh-X

        現(xiàn)在,您可以使用X11來(lái)將服務(wù)器轉(zhuǎn)發(fā)到客戶端的計(jì)算機(jī)上了。通過輸入xclock,一個(gè)時(shí)鐘窗口會(huì)在您的桌面電腦上彈出,如截圖所示。

        X11轉(zhuǎn)發(fā)的偉大之處在于:當(dāng)你想使用一個(gè)由于授權(quán)方面的原因而只能安裝在一臺(tái)服務(wù)器上的軟件,或是與您的普通電腦有著不同的性能需求時(shí),都可以用到X11轉(zhuǎn)發(fā)。

        6.代理跳轉(zhuǎn)(ProxyJump)

        “我想訪問與外界相隔離的專用網(wǎng)絡(luò),我會(huì)搭建一臺(tái)能夠連接的服務(wù)器,然后跳轉(zhuǎn)到要去的那些機(jī)器上?!?/p>

        SSH的一種常見訪問策略是連接到一臺(tái)堡壘主機(jī)上,然后從那里跳轉(zhuǎn)到?jīng)]有公共路由的設(shè)備上。該堡壘主機(jī)被稱為代理鏈上的第一跳主機(jī)。ProxyJump是OpenSSH的一個(gè)新功能,它簡(jiǎn)化了所用到的跳躍主機(jī)。在您不希望被公開暴露時(shí),它為主機(jī)添加了一層額外的安全。

        這方面的一個(gè)案例是:用一臺(tái)小機(jī)器作為路由器后面的堡壘實(shí)體機(jī),在上面運(yùn)行sshd,并從那里跳轉(zhuǎn)到其他主機(jī)上??梢?,這對(duì)于家庭網(wǎng)絡(luò)是很實(shí)用的。這與從端口轉(zhuǎn)發(fā)和從一臺(tái)主機(jī)隧道到下一臺(tái)上并沒什么不同,只是現(xiàn)在這種情況下,用關(guān)鍵字ProxyJump描述的是在指定的多臺(tái)主機(jī)間跳躍,參照的是含有逗號(hào)分隔的列表。在終端上,請(qǐng)使用參數(shù)-J,如下所示:

        ·ssh-J proxy.server.tld:22 yourserver.tld

        對(duì)于更為復(fù)雜的、需要使用不同的用戶名來(lái)實(shí)現(xiàn)的若干臺(tái)主機(jī)間的跳轉(zhuǎn),可以使用:

        ·ssh-J [email protected]:port1,[email protected]:port2

        由于可能會(huì)經(jīng)常使用到主機(jī)間的跳轉(zhuǎn),因此最好把它們包含在用戶或系統(tǒng)常規(guī)SSH配置之中。如下的配置文件就適用于上述的用例:

        在~/.ssh/config中,

        ·Host yourserver.tld

        ·HostName yourserver.tld

        ·ProxyJumpuser1@proxy.server1.tld:port1,user2@proxy. server2.tld:port2

        ·User user

        你也可以為每一個(gè)主機(jī)的跳轉(zhuǎn)指定SSH配置,并使用ProxyJump字段來(lái)指定它們的別稱。

        在~/.ssh/config中,

        ·Host firstproxy

        ·HostName proxy.server1.tld

        ·Port 1234

        ·User user1

        ·Host secondproxy

        ·HostName proxy.server2.tld

        ·Port 5678

        ·User user2

        ·Host yourserver.tld

        ·HostName yourserver.tld

        ·ProxyJump firstproxy,secondproxy

        ·User user

        注意,新添加的ProxyJump和那些舊的ProxyCommand指令都完全遵守“先到先得”的原則,這就意味著先設(shè)定的會(huì)被先執(zhí)行、以此類推下去。如果您的SSH客戶端并不支持ProxyJump的話,您可以改用ProxyJump的指令:

        ProxyCommand ssh firstproxy -W %h:%p。

        猜你喜歡
        指令
        聽我指令:大催眠術(shù)
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        殺毒軟件中指令虛擬機(jī)的脆弱性分析
        巧用G10指令實(shí)現(xiàn)橢圓輪廓零件倒圓角
        中斷與跳轉(zhuǎn)操作對(duì)指令串的影響
        科技傳播(2015年20期)2015-03-25 08:20:30
        基于匯編指令分布的惡意代碼檢測(cè)算法研究
        一種基于滑窗的余度指令判別算法
        歐盟修訂電氣及電子設(shè)備等產(chǎn)品安全規(guī)定
        家電科技(2014年5期)2014-04-16 03:11:28
        MAC指令推動(dòng)制冷劑行業(yè)發(fā)展
        汽車零部件(2014年2期)2014-03-11 17:46:27
        少妇人妻偷人中文字幕| 国产在线精品一区二区三区不卡| 无码不卡高清毛片免费 | 青青草视频在线观看网| 影视av久久久噜噜噜噜噜三级| 99久久国产精品网站| 无码一区二区三区| 久久九九国产精品怡红院| 国产成人无码A区在线观| 午夜av福利亚洲写真集| 丝袜美腿亚洲第一免费| 亚洲欧洲国产码专区在线观看| 亚洲国产精品成人无码区| 亚洲午夜精品久久久久久抢| 久久最黄性生活又爽又黄特级片| 国产人妻熟女高跟丝袜| 初女破初的视频| 亚洲AV激情一区二区二三区| 久久er这里都是精品23| 乳乱中文字幕熟女熟妇| 国产精品国产精品国产专区不卡| 亚洲乱码国产一区三区| 国产精品乱子伦一区二区三区| 蜜桃网站入口可看18禁| 国产亚洲精品成人aa片新蒲金| 欧美日韩不卡视频合集| 日韩av无码午夜福利电影| 久久国产精品一区av瑜伽| 国产成人无码精品久久二区三区| 97se在线| 日韩精品av在线一区二区| 午夜视频在线观看视频在线播放| 蜜臀av 国内精品久久久| 久久人人97超碰超国产| 无码成人AV在线一区二区| 99久久国产精品免费热| 亚洲人成网站色www| 日韩欧美中文字幕公布| 日本一二三区在线视频观看 | 亚洲91av| 亚洲综合网中文字幕在线|