SSH 至 Secure Shell 縮寫。由 IETF 網絡工做組(Network Working Group)開發;SSH 以創建應用層和傳輸層安全協議中的基礎上。git
SSH 是眼下較可靠,專爲遠程登陸會話和其它網絡服務提供安全性的協議。常常使用於遠程登陸,以及用戶之間進行資料拷貝。shell
利用 SSH 協議可以有效防止遠程管理過程當中的信息泄露問題。SSH 最初是 UNIX 系統上的一個程序。後來又迅速擴展到其它操做平臺。ubuntu
SSH 在正確使用時可彌補網絡中的漏洞。SSH client適用於多種平臺。差點兒所有 UNIX 平臺—包含 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其它平臺,均可執行 SSH。
安全
相關工具的安裝網絡
SSH server的安裝:ssh
sudo apt-get install openssh-server工具
SSH client的安裝:
spa
sudo apt-get install openssh-client
.net
client和server的關係:假設,A 機器想被 B 機器遠程控制。那麼。A 機器需要安裝 SSH server,B 機器需要安裝 SSH client。命令行
如使用過程當中出現故障。可從新啓動 SSH server:
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 " 中。再次訪問,就不會有這些信息了。而後輸入完口令,就可以登陸到主機了。
接着。提示輸入登陸password:
登錄成功:
假設想在 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:贊成遠程使用圖形界面訪問server,但是效率稍低,僅支持 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 用來登陸遠程server。
在默認狀況下,不一樣意用戶複製文件,但仍是提供了一個「 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:遠程username
RemoteHostIp:遠程ip
RemoteFile:遠程文件。可帶上路徑
FileName:複製到本地後的名字,可帶上路徑。不帶路徑複製到當前文件夾
查看遠程文件夾與文件:
查看本地文件夾與文件:
拷貝遠程的文件:
拷貝遠程的文件可以隨意改動其名字:
拷貝遠程的文件可以指定存放路徑: