通過(guò) SSH 和 SFTP 協(xié)議,我們能夠訪問(wèn)其他設(shè)備,有效而且安全的傳輸文件等等。
幾年前,我決定配置另外一臺(tái)電腦,以便我能在工作時(shí)訪問(wèn)它來(lái)傳輸我所需要的文件。要做到這一點(diǎn),最基本的一步是要求你的網(wǎng)絡(luò)提供商(ISP)提供一個(gè)固定的地址。
有一個(gè)不必要但很重要的步驟,就是保證你的這個(gè)可以訪問(wèn)的系統(tǒng)是安全的。在我的這種情況下,我計(jì)劃只在工作場(chǎng)所訪問(wèn)它,所以我能夠限定訪問(wèn)的 IP 地址。即使如此,你依然要盡多的采用安全措施。一旦你建立起來(lái)這個(gè)系統(tǒng),全世界的人們馬上就能?chē)L試訪問(wèn)你的系統(tǒng)。這是非常令人驚奇及恐慌的。你能通過(guò)日志文件來(lái)發(fā)現(xiàn)這一點(diǎn)。我推測(cè)有探測(cè)機(jī)器人在盡其所能的搜索那些沒(méi)有安全措施的系統(tǒng)。
在我設(shè)置好系統(tǒng)不久后,我覺(jué)得這種訪問(wèn)沒(méi)什么大用,為此,我將它關(guān)閉了以便不再為它操心。盡管如此,只要架設(shè)了它,在家庭網(wǎng)絡(luò)中使用 SSH 和 SFTP 還是有點(diǎn)用的。
當(dāng)然,有一個(gè)必備條件,這個(gè)另外的電腦必須已經(jīng)開(kāi)機(jī)了,至于電腦是否登錄與否無(wú)所謂的。你也需要知道其 IP 地址。有兩個(gè)方法能夠知道,一個(gè)是通過(guò)瀏覽器訪問(wèn)你的路由器,一般情況下你的地址格式類(lèi)似于 192.168.1.254 這樣。通過(guò)一些搜索,很容易找出當(dāng)前是開(kāi)機(jī)的并且接在 eth0 或者 wifi 上的系統(tǒng)。如何識(shí)別你所要找到的電腦可能是個(gè)挑戰(zhàn)。
更容易找到這個(gè)電腦的方式是,打開(kāi) shell,輸入 :
ifconfig
命令會(huì)輸出一些信息,你所需要的信息在 inet
后面,看起來(lái)和 192.168.1.234 類(lèi)似。當(dāng)你發(fā)現(xiàn)這個(gè)后,回到你要訪問(wèn)這臺(tái)主機(jī)的客戶(hù)端電腦,在命令行中輸入 :
ssh gregp@192.168.1.234
如果要讓上面的命令能夠正常執(zhí)行,gregp
必須是該主機(jī)系統(tǒng)中正確的用戶(hù)名。你會(huì)被詢(xún)問(wèn)其密碼。如果你鍵入的密碼和用戶(hù)名都是正確的,你將通過(guò) shell 環(huán)境連接上了這臺(tái)電腦。我坦誠(chéng),對(duì)于 SSH 我并不是經(jīng)常使用的。我偶爾使用它,我能夠運(yùn)行 dnf
來(lái)更新我所常使用電腦之外的其它電腦。通常,我用 SFTP :
sftp grego@192.168.1.234
我更需要用簡(jiǎn)單的方法來(lái)把一個(gè)文件傳輸?shù)搅硪粋€(gè)電腦。相對(duì)于閃存棒和額外的設(shè)備,它更加方便,耗時(shí)更少。
一旦連接建立成功,SFTP 有兩個(gè)基本的命令,get
,從主機(jī)接收文件 ;put
,向主機(jī)發(fā)送文件。在連接之前,我經(jīng)常在客戶(hù)端移動(dòng)到我想接收或者傳輸?shù)奈募A下。在連接之后,你將處于一個(gè)頂層目錄里,比如 home/gregp
。一旦連接成功,你可以像在客戶(hù)端一樣的使用 cd
,改變你在主機(jī)上的工作路徑。你也許需要用 ls
來(lái)確認(rèn)你的位置。
如果你想改變你的客戶(hù)端的工作目錄。用 lcd
命令( 即 local change directory 的意思)。同樣的,用 lls
來(lái)顯示客戶(hù)端工作目錄的內(nèi)容。
如果主機(jī)上沒(méi)有你想要的目錄名,你該怎么辦?用 mkdir
在主機(jī)上創(chuàng)建一個(gè)新的目錄?;蛘吣憧梢詫⒄麄€(gè)目錄的文件全拷貝到主機(jī) :
put -r thisDir/
這將在主機(jī)上創(chuàng)建該目錄并復(fù)制它的全部文件和子目錄到主機(jī)上。這種傳輸是非??焖俚?,能達(dá)到硬件的上限。不像在互聯(lián)網(wǎng)傳輸一樣遇到網(wǎng)絡(luò)瓶頸。要查看你能在 SFTP 會(huì)話中能夠使用的命令列表:
mansftp
我也能夠在我的電腦上的 Windows 虛擬機(jī)內(nèi)用 SFTP,這是配置一個(gè)虛擬機(jī)而不是一個(gè)雙系統(tǒng)的另外一個(gè)優(yōu)勢(shì)。這讓我能夠在系統(tǒng)的 Linux 部分移入或者移出文件。而我只需要在 Windows 中使用一個(gè)客戶(hù)端就行。
你能夠使用 SSH 或 SFTP 訪問(wèn)通過(guò)網(wǎng)線或者 WIFI 連接到你路由器的任何設(shè)備。這里,我使用了一個(gè)叫做 SSHDroid 的應(yīng)用,能夠在被動(dòng)模式下運(yùn)行 SSH。換句話來(lái)說(shuō),你能夠用你的電腦訪問(wèn)作為主機(jī)的 Android 設(shè)備。近來(lái)我還發(fā)現(xiàn)了另外一個(gè)應(yīng)用,Admin Hands,不管你的客戶(hù)端是平板還是手機(jī),都能使用 SSH 或者 SFTP 操作。這個(gè)應(yīng)用對(duì)于備份和手機(jī)分享照片是極好的。
via: https://opensource.com/article/18/10/ssh-sftp-home-network
作者:Geg Pittman 選題:lujun9972 譯者:singledo 校對(duì):wxy
本文由 LCTT 原創(chuàng)編譯,Linux中國(guó) 榮譽(yù)推出