Linux下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拷貝速度稍快一些。

具體解釋可參見http://en.wikipedia.org/wiki/SSH_file_transfer_protocol

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

sftp -oPort=22 [email protected]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章