1. 程式人生 > >Telnet、FTP、SSH、SFTP、SCP

Telnet、FTP、SSH、SFTP、SCP

【Telnet】著名的終端訪問協議,傳統的網路服務程式,如FTP、POP和Telnet,其本質上都是不安全的;因為它們在網路上用明文傳送資料、使用者帳號和使用者口令。

【telnet命令】telnet host [port]

【SSH】Secure Shell 的縮寫,是建立在傳輸層基礎上的安全協議,它本身屬於應用層,同時可以為應用層提供安全傳輸服務。

SSH 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 SSH 協議可以有效防止遠端管理過程中的資訊洩露問題。透過 SSH 可以對所有傳輸的資料進行加密,也能夠防止DNS欺騙和IP欺騙。

SSH 之另一項優點為其傳輸的資料是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、POP、甚至為PPP提供一個安全的“通道”。

【ssh命令】linux下,用ssh登入伺服器,格式如下:
ssh -l 遠端伺服器使用者名稱 遠端伺服器ip地址 -p 遠端伺服器ssh埠(預設22)

【SecureCRT使用SSH2協議登入示例】:在windows下,使用SecureCRT 6.2可方便Telnet到遠端伺服器,它支援SSH1、SSH2、Telnet/SSL等安全登入訪問協議,在第一次使用SSH2協議向伺服器建立連線 時,,SecureCRT首先會檢查Server的公鑰是否在本地資料庫存放,如果沒有,則不會把你的使用者名稱、口令傳輸過去,它會將伺服器端的公鑰取回來 (可以直接從Server取,也可以從第三方獲取),並提示:

The host key database does not contain an entry for the

hostname 172.16.200.244, which resolved to 172.16.200.244,

port 22. If you have received this message more

than once for 172.16.200.244, this may mean that 172.16.200.244

is an “alias” which resolves to different hosts.

It is recommended you verify your host key before accepting.

Server’s host key fingerprint (MD5 hash):

24:0f:36:5e:43:ad:f5:b8:1b:ae:ac:f7:9f:c2:c0:4c

當 你選擇確認儲存,則SecureCRT會把Server的公鑰儲存到本地公鑰資料庫,然後會重新讓你輸入使用者名稱和密碼,再次安全地登入伺服器,因為這一次 會使用Server的公鑰來加密使用者名稱和口令。之後的登入和互動就會一直使用本地資料庫儲存的Server的公鑰來加密傳輸。

【scp命令】

SCP(Secure Copy)——Linux檔案傳送命令

scp 命令是 SSH 中最方便有用的命令了,試想,在兩臺伺服器之間直接傳送檔案,僅僅用 scp 一個命令就完全解決了。 你可以在一臺伺服器上以 root 身份執行 #scp servername:/home/ftp/pub/file1 . 這樣就把另一臺伺服器上的檔案 /home/ftp/pub/file1 直接傳到本機器的當前目錄下,當然你也可以用 #scp /tmp/file2 servername:/boot 把本機上的檔案 /tmp/file2 送到另一臺機器的 /boot 目錄下。而且整個傳送過程仍然是用 SSH 加密的。

scp 就是 secure copy, 是用來進行遠端檔案拷貝的 . 資料傳輸使用 ssh1, 並且和 ssh1 使用相同的認證方式 , 提供相同的安全保證。與 rcp 不同的是 ,scp 會要求你輸入密碼,如果需要的話。

最簡單的應用如下 :

scp 本地使用者名稱 @IP 地址 : 檔名 1 遠端使用者名稱 @IP 地址 : 檔名 2

[ 本地使用者名稱 @IP 地址 :] 可以不輸入 , 可能需要輸入遠端使用者名稱所對應的密碼 .

可能有用的幾個引數 :

-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來檢視連線 , 認證 , 或是配置錯誤 .

-C 使能壓縮選項 .

-P 選擇埠 . 注意 -p 已經被 rcp 使用 .

-4 強行使用 IPV4 地址 .

-6 強行使用 IPV6 地址 .

-r Recursively copy entire directories.

如——

copy 本地的檔案到遠端的機器上

scp /etc/lilo.conf [email protected]:/home/my

會將本地的 /etc/lilo.conf 這個檔案 copy 到 www.upsdn.net,使用者my 的家目錄下。

=====================================================

例如:

copy 本地的檔案到遠端的機器上

scp /etc/lilo.conf [email protected]:/home/k

會將本地的 /etc/lilo.conf 這個檔案 copy 到 net67.ee.oit.edu.tw,使用者 k 的家目錄下。

copy遠端機器上的檔案到本地來

scp [email protected]:/etc/lilo.conf /etc

會將 net67.ee.oitdu.tw 中 /etc/lilo.conf 檔案 copy 到本地的 /etc 目錄下。

保持從來源 host 檔案的屬性

scp –p [email protected]:/etc/lilo.conf /etc

在此必須注意使用者的許可權是否可讀取遠端上的檔案,若想知道更多關於 scp 的使用方法,可去看看 scp 的使用手冊。

ssh-keygen

產生公開鑰 (pulib key) 和私人鑰 (private key),以保障 ssh 聯機的安性, 當 ssh 連 shd 伺服器,會交換公開鑰上,系統會檢查 /etc/ssh_know_hosts 內儲存的 key,如果找到客戶端就用這個 key 產生一個隨機產生的session key 傳給伺服器,兩端都用這個 key 來繼續完成 ssh 剩下來的階段。

它會產生 identity.pub、identity 兩個檔案,私人鑰存放於identity,公開鑰 存放於 identity.pub 中,接下來使用 scp 將 identity.pub copy 到遠端機器的家目錄下.ssh下的authorized_keys。 .ssh/authorized_keys(這個 authorized_keys 檔案相當於協議的 rhosts 檔案), 之後使用者能夠不用密碼去登入。RSA的認證絕對是比 rhosts 認證更來的安全可靠。

執行:

scp identity.pub [email protected]:.ssh/authorized_keys

若在使用 ssh-keygen 產生鑰匙對時沒有輸入密碼,則如上所示不需輸入密碼即可從 net67.ee.oit.edu.tw 去登入 linux1.ee.oit.edu.tw。在此,這裡輸入的密碼可以跟帳號的密碼不同,也可以不輸入密碼。

【FTP】

檔案傳輸協議英文File Transfer Protocol,簡稱為FTP)是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路協議組應用層

【ftp命令】ftp host

【SFTP】

SSH File Transfer Protocol ,有時也被稱作 Secure File Transfer Protocol 或 SFTP。

它和SCP的區別是它允許使用者中斷傳輸,SCP拷貝速度稍快一些。

【sftp命令】另外,小寫字母sftp也是linux下的一個命令,遵從SFTP,示例: