歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下SSH安裝配置使用詳解

Linux下SSH安裝配置使用詳解

日期:2017/2/28 14:03:23   编辑:Linux教程

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

Copyright © Linux教程網 All Rights Reserved