1.在Linux環境下使用SSH服務
SSH服務器安裝在名為vm的遠程主機上,其IP地址為192.168.0.50。客戶從名為fdsrv的本地計算機遠程登錄到SSH服務器。
(1)使用口令驗證登錄使用SSH服務
客戶端首次登錄時, 輸入“yes”確認遠程主機的身份,然後輸入登錄賬戶的密碼即可登錄到遠程主機上。
登錄到遠程主機後即可像在遠程主機的本地一樣實施服務器管理操作。
查看本地計算機中當前登錄用戶~/.ssh目錄中保存的遠程主機公鑰文件known_hosts及公鑰的內容。
使用scp本地計算機和遠程主機之間安全複製文件。
使用sftp訪問遠程主機上SSH提供的安全FTP服務。
用sftp登錄後,就可以使用sftp的命令去操作遠程主機上的文件以及文件的上傳下載。
在sftp>提示符下輸入?獲得幫助。
(2)配置基於公鑰認證的SSH登錄在客戶機上使用命令ssh-keygen生成密鑰對。私鑰存放在文件~/.ssh/id_rsa中,公鑰則存放到文件~/.ssh/id_rsa.pub中。
把客戶端生成的公鑰安全複製到遠程主機上登錄賬戶主目錄的.ssh目錄中。
在遠程主機上把客戶端的公鑰添加到authorized_keys授權文件中。
在本地計算機上用ssh登錄,因配置了基於公鑰的驗證,所以不用輸入登錄賬戶的口令。
學藝錦囊
◎客戶端首次登錄時,由於還沒有在本地保存遠程主機的公鑰,不能自動確認遠程主機的身份,需要用戶手動確認。輸入“yes”後,將在本地~/.ssh/known_hosts文件中保存主機公鑰。以後的連接將使用此公鑰自動確認遠程主機身份。
◎對於客戶端生成的密鑰對,根據采用算法的不同,私鑰存入~/.ssh/id_rsa或id_dsa中,公鑰存入id_rsa.pub或id_dsa.pub中。存放私鑰的文件除所有者可讀寫外,其他人沒有任何權限,公鑰文件所有者可讀寫,其他人可讀。
◎在客戶端生成的密鑰對,要求輸入的密碼是私鑰保護密碼,如果設置了密碼,在遠程登錄時就必須輸入這個密碼。注意:這不是登錄賬戶的密碼。
◎授權文件authorized_keys可以保存多個公鑰,這可以實現不同的客戶端使用相同的登錄賬戶。因此,在向authorized_keys中添加新的公鑰時,請使用>>命令重定向符。
◎基於公鑰的驗證不需要在網絡上傳送密碼比基於口令的驗證更安全,它能有效防止“中間人”攻擊。“中間人”攻擊是指有人用一台計算機冒充真正的服務器接收用戶傳給服務器的數據,然後再冒充用戶把數據傳給真正的服務器,從而截獲用戶與服務器之間的通信。
2.在Windows環境下連接使用SSH服務
PuTTY是一款在Windows下使用廣泛的SSH客戶端軟件。PuTTY不需要安裝,隻需要把它的軟件包解壓到磁盤上某個文件夾(如:d:\putty)就可正常使用。
(1)配置PuTTY基於口令驗證登錄SSH服務器
把PuTTY軟件包解壓到d:\putty文件夾中。
PuTTY的常用工具:
putty:SSH遠程登錄
pscp:安全複製
psftp:安全FTP
puttygen:生成密鑰
plink:快速執行SSH主機上的程
序
pageant:密鑰代理
puttytel:telnet和rlogin遠程登錄
雙擊“putty”啟動SSH遠程登錄客戶端。在左側配置樹型列表中選擇“會話”,然後在右側“主機名稱”中輸入遠程主機的名稱或IP地址,端口號保持默認22。連接類型選擇“SSH”。
在“保存的會話”中輸入會話名myssh,單擊“保存”。
續表在左配置樹中選擇“ 連接”→“SSH”,然後勾選“開啟壓縮”,選擇SSH版本2。如有需要在遠程主機上直接執行命令,就在“遠程命令”框中輸入要執行的命令。
在“會話”中選擇已建立的會話,單擊“打開”,在彈出的終端對話框中輸入賬戶名和密碼登錄到遠程主機。
用pscp安全複製文件d:\src\train.java到遠程主機中。
在命令行上輸入pscp ?獲取使用幫助。
續表用p s f t p 登錄到S SH的s f t p -server,在提示符psftp>下輸入help獲得ftp命令幫助。
輸入exit或quit退出psftp。
(2)配置基於公鑰驗證登錄SSH服務器雙擊puttygen密鑰生成工具,選擇密鑰的類型和指定密鑰長度,然後單擊“生成”按鈕,鼠標在提示的空白區移動,直到進度條到達最右端,生成客戶端密鑰對。
續表設置密鑰保護密碼(可以不用設置) , 分別單擊“ 保存公鑰”和“保存私鑰”按鈕,把生成的密鑰保存到本地文件夾中。
然後使用pscp工具把其中的公鑰文件複製到遠程主機登錄賬戶的主目錄下的.ssh目錄中。
在遠程服務器端,用遠程登錄賬戶在本地登錄,在賬戶主目錄下的.ssh目錄中,把客戶端公鑰文件idrsa.pub中的公鑰添加到授權文件authorized_keys中,並用vi編輯器修改去掉密鑰前後的注釋, 並在密鑰的“開始”下添加密鑰算法標誌ssh-rsa。
在客戶計算機上雙擊putty。
在左側配置樹中選擇“ 連接”→“認證”,然後在右側單擊“瀏覽”選擇認證用的私鑰文件。
單擊左側配置樹中的“ 連接”→“數據”,在右側“自動登錄用戶名”中輸入用於遠程登錄的賬戶名稱。
單擊左側配置樹中的“ 會話”,選擇會話名,然後單擊保存。
選擇配置完成的會話, 單擊“打開”自動登錄到遠程服務器中。
學藝錦囊
◎在PuTTY所在的文件夾中,子文件夾sessions用於保存會話配置文件,子文件夾sshhostkeys中保存了遠程主機的公鑰。
◎puttygen生成的公鑰在保存時在公鑰的前後加上注釋,當用cat命令把公鑰添加到授權文件authorized_keys後,還要用vi編輯器修改刪除前後的注釋,並在公鑰前加上ssh-rsa算法類型標誌。
◎在authorized_keys中的公鑰在邏輯上必須是一行。從puttygen生成的公鑰文件導入到authorized_keys的公鑰有多行,需要刪除每行末的換行符。
項目練習
1.為什麼要限製root使用Telnet遠程登錄?
2.在安全環境下,怎樣開放root使用Telnet登錄遠程主機?
3.可以通過哪些方法或手段保護Telnet的安全?
4.與Telnet相比,SSH有哪些優勢?
5.描述SSH會話連接建立的過程。
6.什麼是明文和密文?密鑰是什麼?密鑰對加密係統有何影響?
7.對稱加密和公開密鑰加密算法各有什麼特點?
8.描述基於公鑰驗證的客戶認證過程。
9.為什麼私鑰文件的訪問權限要設置為600?
10.如果用戶設置了私鑰的保護密碼,但忘記了,應該如何處理?