如何在家中使用 SSH 和 SFTP 協議
透過 SSH 和 SFTP 協議,我們能夠訪問其他裝置,有效而且安全的傳輸檔案等等。
幾年前,我決定配置另外一臺電腦,以便我能在工作時訪問它來傳輸我所需要的檔案。要做到這一點,最基本的一步是要求你的網路提供商(ISP)提供一個固定的地址。
有一個不必要但很重要的步驟,就是保證你的這個可以訪問的系統是安全的。在我的這種情況下,我計劃只在工作場所訪問它,所以我能夠限定訪問的 IP 地址。即使如此,你依然要盡多的採用安全措施。一旦你建立起來這個系統,全世界的人們馬上就能嘗試訪問你的系統。這是非常令人驚奇及恐慌的。你能透過日誌檔案來發現這一點。我推測有探測機器人在盡其所能的搜尋那些沒有安全措施的系統。
在我設定好系統不久後,我覺得這種訪問沒什麼大用,為此,我將它關閉了以便不再為它操心。儘管如此,只要架設了它,在家庭網路中使用 SSH 和 SFTP 還是有點用的。
當然,有一個必備條件,這個另外的電腦必須已經開機了,至於電腦是否登入與否無所謂的。你也需要知道其 IP 地址。有兩個方法能夠知道,一個是透過瀏覽器訪問你的路由器,一般情況下你的地址格式類似於 192.168.1.254 這樣。透過一些搜尋,很容易找出當前是開機的並且接在 eth0 或者 wifi 上的系統。如何識別你所要找到的電腦可能是個挑戰。
更容易找到這個電腦的方式是,開啟 shell,輸入 :
ifconfig
命令會輸出一些資訊,你所需要的資訊在 inet
後面,看起來和 192.168.1.234 類似。當你發現這個後,回到你要訪問這臺主機的客戶端電腦,在命令列中輸入 :
ssh gregp@192.168.1.234
如果要讓上面的命令能夠正常執行,gregp
必須是該主機系統中正確的使用者名稱。你會被詢問其密碼。如果你鍵入的密碼和使用者名稱都是正確的,你將透過 shell 環境連線上了這臺電腦。我坦誠,對於 SSH 我並不是經常使用的。我偶爾使用它,我能夠執行 dnf
來更新我所常使用電腦之外的其它電腦。通常,我用 SFTP :
sftp grego@192.168.1.234
我更需要用簡單的方法來把一個檔案傳輸到另一個電腦。相對於快閃記憶體棒和額外的裝置,它更加方便,耗時更少。
一旦連線建立成功,SFTP 有兩個基本的命令,get
,從主機接收檔案 ;put
,向主機傳送檔案。在連線之前,我經常在客戶端移動到我想接收或者傳輸的資料夾下。在連線之後,你將處於一個頂層目錄裡,比如 home/gregp
。一旦連線成功,你可以像在客戶端一樣的使用 cd
,改變你在主機上的工作路徑。你也許需要用 ls
來確認你的位置。
如果你想改變你的客戶端的工作目錄。用 lcd
命令( 即 local change directory 的意思)。同樣的,用 lls
來顯示客戶端工作目錄的內容。
如果主機上沒有你想要的目錄名,你該怎麼辦?用 mkdir
在主機上建立一個新的目錄。或者你可以將整個目錄的檔案全複製到主機 :
put -r thisDir/
這將在主機上建立該目錄並複製它的全部檔案和子目錄到主機上。這種傳輸是非常快速的,能達到硬體的上限。不像在網際網路傳輸一樣遇到網路瓶頸。要檢視你能在 SFTP 會話中能夠使用的命令列表:
man sftp
我也能夠在我的電腦上的 Windows 虛擬機器內用 SFTP,這是配置一個虛擬機器而不是一個雙系統的另外一個優勢。這讓我能夠在系統的 Linux 部分移入或者移出檔案。而我只需要在 Windows 中使用一個客戶端就行。
你能夠使用 SSH 或 SFTP 訪問透過網線或者 WIFI 連線到你路由器的任何裝置。這裡,我使用了一個叫做 SSHDroid 的應用,能夠在被動模式下執行 SSH。換句話來說,你能夠用你的電腦訪問作為主機的 Android 裝置。近來我還發現了另外一個應用,Admin Hands,不管你的客戶端是平板還是手機,都能使用 SSH 或者 SFTP 操作。這個應用對於備份和手機分享照片是極好的。
via: https://opensource.com/article/18/10/ssh-sftp-home-network
作者:Geg Pittman 選題:lujun9972 譯者:singledo 校對:wxy
相關文章
- 使用 SSH 和 SFTP 協議FTP協議
- SFTP是什麼協議FTP協議
- 在java中使用SFTP協議安全的傳輸檔案JavaFTP協議
- jftp通過sftp協議上傳檔案FTP協議
- ssh遠端登入協議協議
- HTTP協議中PUT和POST使用區別HTTP協議
- 使用SSH+SFTP操作終端全解析,告別XShellFTP
- 【Linux入門】FTP協議與SFTP協議是什麼?兩者有什麼聯絡?LinuxFTP協議
- Java下載遠端伺服器檔案到本地(http協議和ssh2協議)Java伺服器HTTP協議
- Raft協議和ZAB協議Raft協議
- 初次使用 SSH 協議進行程式碼克隆、推送等操作時,需按下述提示完成 SSH 配置協議行程
- Linux網路-ssh遠端連線協議Linux協議
- Linux之SSH協議知識點總結Linux協議
- POP3協議(電子郵件郵局協議)中UIDL和TOP命令在實際使用中的作用協議UI
- 教你如何使用Zig實現Cmpp協議協議
- HTTP協議中URI和URL區別HTTP協議
- SMTP協議解讀以及如何使用SMTP協議傳送電子郵件協議
- SFTP是什麼協議?優勢有哪些?與FTP有什麼不同?FTP協議
- Gossip協議和Grpc協議的區別Go協議RPC
- 如何獲取和使用酒店協議程式碼,享受預訂優惠協議
- 淺談WebSocket協議、WS協議和WSS協議原理及關係Web協議
- HTTP協議和MQTT協議對比誰更好HTTP協議MQQT
- HTTP協議和HTTPS協議的異同點?HTTP協議
- Assh 自動登入 SSH/SFTP 的小工具FTP
- SSH 協議基本原理及 wireshark 抓包分析協議
- 【譯】 WebSocket 協議第十二章——使用其他規範中的WebSocket協議Web協議
- Java中的TCP/IP協議和IP地址JavaTCP協議
- 使用者協議協議
- TCP和UDP協議TCPUDP協議
- HTTP和HTTPS協議HTTP協議
- icmp和arp協議協議
- RPC和 HTTP協議RPCHTTP協議
- 在Linux中如何登出其他 SSH 使用者Linux
- ARP(地址解析協議)和RARP(逆地址解析協議)協議
- tcp/ip協議和opc協議對比詳解TCP協議
- STP生成樹協議和MSTP多生成樹協議協議
- 如何使用ssh_scan遠端驗證SSH服務的配置和策略
- netty系列之:protobuf在UDP協議中的使用NettyUDP協議