2021-05-12 14:32:11
Linux下SSH安裝設定使用詳解
SSH 為 Secure Shell 的縮寫,由 IETF 的網路工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協定。
SSH 是目前較可靠,專為遠端登入對談和其他網路服務提供安全性的協定。常用於遠端登入,以及使用者之間進行資料拷貝。
利用 SSH 協定可以有效防止遠端管理過程中的資訊洩露問題。SSH 最初是 UNIX 系統上的一個程式,後來又迅速擴充套件到其他操作平台。SSH 在正確使用時可彌補網路中的漏洞。SSH 用戶端適用於多種平台。幾乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可執行 SSH。
相關工具的安裝
SSH 伺服器的安裝:
sudo apt-get install openssh-server
SSH 用戶端的安裝:
sudo apt-get install openssh-client
用戶端和伺服器的關係:如果,A 機器想被 B 機器遠端控制,那麼,A 機器需要安裝 SSH 伺服器,B 機器需要安裝 SSH 用戶端。
如使用過程中出現問題,可重新啟動 SSH 伺服器:
sudo service ssh restart
測試使用
操作命令:ssh -l username hostip
ssh : 命令
-l : 選項, 是字母“ L ”,不是數位“ 1 ”
username:被遠端登入的使用者名稱
hostip:被遠端登入的 ip 地址
檢視被遠端登入的的ip:
遠端登入(這裡是使用者 wencong ( A 機器 ) 遠端登入 edu ( B 機器 ) ), 可以不用sudo :
SSH 告知使用者,這個主機不能識別,這時鍵入" yes ",SSH 就會將相關資訊,寫入" ~/.ssh/know_hosts " 中,再次存取,就不會有這些資訊了。然後輸入完口令,就可以登入到主機了。
接著,提示輸入登陸密碼:
登陸成功:
如果想在 Windows 平台下遠端登入 Linux,這時候,Windows 需要安裝 xmanager 軟體包。
xmanager是個軟體包。包含xshell、xftp、xstart等軟體。
xshell:是一個 Windows 平台下的 ssh、TELNET 和 RLOGIN 終端軟體。它使得使用者能輕鬆和安全地在 Windows 平台上存取 Unix/Linux 主機。
xftp:是一個應用於 Windows 平台的 FTP 和 SFTP 檔案傳輸程式。xftp 能安全地在Unix/Linux 和 Windows 平台之間傳輸檔案。
xstart:允許遠端使用圖形介面存取伺服器,但是效率稍低,僅支援 gnome 桌面。
這裡,我們使用 xshell 軟體,具體詳情請看:《 Linux開發環境搭建與使用——通過xshell遠端連線Ubuntu》。
SSH 設定
SSH 安裝的時候,沒有預設的使用者組態檔,我們可以根據自己需要自行設定。
如上面的例子,我們要登陸 10.221.20.16 上的 edu 使用者,我們每次都得敲“ssh -l edu 10.221.20.16”。
下面介紹一下簡化這個命令的方法。
在 ~/.ssh 下建立檔案 config:
在 config 編寫如下內容:
以後,在命令列執行“ ssh edu ” 即可登陸 10.221.20.16 上的 edu 使用者:
注意:config 第一行內容,如果改為 Host *test ,命令則變為:ssh test。test 這個名字根據需要自定命名,敲命名時匹配上就行。
當然,還有更多別的選項,如 ForwardAgent, Compression, ForwardX11 FallBackToRsh等,這裡就不一一羅列。
用“ scp ”拷貝檔案和目錄
SSH 提供了一些命令和 shell 用來登入遠端伺服器。在預設情況下,不允許使用者拷貝檔案,但還是提供了一個“ scp ”命令,使用方法如下:
本地檔案複製到遠端:
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile
本地目錄複製到遠端:
scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
scp -r FolderName RemoteHostIp:RemoteFolder
遠端檔案複製到本地:
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName
遠端目錄複製到本地:
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName
這裡只測試一個命令,其它操作都是大同小異。
遠端檔案複製到本地:
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
RemoteUserName:遠端使用者名稱
RemoteHostIp:遠端ip
RemoteFile:遠端檔案,可帶上路徑
FileName:拷貝到本地後的名字,可帶上路徑,不帶路徑拷貝到當前目錄
檢視遠端目錄與檔案:
檢視本地目錄與檔案:
拷貝遠端的檔案:
拷貝遠端的檔案可以任意修改其名字:
拷貝遠端的檔案可以指定存放路徑:
Linux下使用SSH圖文詳解教學 http://www.linuxidc.com/Linux/2011-06/37690.htm
如何為Linux系統中的SSH新增雙重認證 http://www.linuxidc.com/Linux/2014-08/105998.htm
在 Linux 中為非 SSH 使用者設定 SFTP 環境 http://www.linuxidc.com/Linux/2014-08/105865.htm
Linux 上SSH 服務的設定和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm
SSH入門學習基礎教學 http://www.linuxidc.com/Linux/2014-06/103008.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-03/115056.htm
相關文章