- RHCSARHCE 紅帽Linux認證學習指南(第7版)EX200 & EX300
- (美)Michael Jang等
- 1625字
- 2020-11-29 00:29:58
認證目標2.04 用Secure SheII和Secure Copy管理系統
默認情況下,Red Hat企業版Linux系統安裝了SSH程序。RHCSA考試對SSH的要求很簡單,考生只需要知道如何用它訪問遠程系統。另外,考生還需要知道如何在系統之間安全地傳輸文件。因此本節將介紹如何用ssh和scp命令訪問遠程系統和傳輸文件。
如前所述,標準的RHEL 7安裝會默認安裝SSH程序。雖然默認情況下防火墻是激活的,但是標準RHEL 7防火墻將TCP端口22處于打開狀態以允許SSH訪問。相關的配置文件保存在/etc/ssh目錄中。SSH服務器的詳細配置屬于RHCE考試的范圍。相關的客戶端命令有ssh、scp和sftp,它們都要在本節中介紹。
SSH守護程序是安全的,因為它對消息進行加密。換言之,偵聽網絡的用戶讀不到SSH客戶端與服務器之間傳遞的消息,這在像Internet這樣的公共網絡中是非常重要的。RHEL采用SSH版本2,此版本支持多種密鑰交換算法,與原來的SSH版本1不兼容。SSH的基于密鑰的驗證將在第4章進行介紹。要了解RHCE考試中對SSH的要求,請參閱第11章。
2.4.1 配置SSH客戶端
SSH客戶端主要的配置文件是/etc/ssh/ssh_config。每個用戶可以有自己的SSH客戶端配置參數,它們保存在~/.ssh/config文件中。默認情況下配置文件中有4個指令。第一個是Host *指令,它將其他指令應用于所有連接。
Host *
下一個指令支持用通用安全服務應用程序編程接口(Generic Security Service Application Programming Interface)對客戶端/服務器進行驗證。這提供了對Kerberos驗證的支持:
GSSAPIAuthentication yes
下一個指令支持對GUI應用程序的遠程訪問。X11是在Linux上使用的X Window System服務器的傳統名稱。
ForwardX11Trusted yes
下一個指令允許客戶端設置幾個環境變量。其細節因不同的RHEL系統而稍有差別。
SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL LC_LANGUAGE SendEnv XMODIFIERS
這為從命令行訪問遠程系統做好了準備。
2.4.2 命令行訪問
本節介紹使用ssh命令的標準訪問方法。為訪問一個遠程系統,需要知道該遠程系統的用戶名和口令。默認情況下允許ssh直接訪問root賬戶。例如,使用以下命令訪問前面提到的server1系統上的root賬戶:
$ ssh root@server1.example.com
實際經驗
當試圖通過SSH訪問一個遠程主機時,如果發生“未知的名稱或服務”等錯誤,則說明系統無法把主機名解析為IP地址。第3章將介紹如何配置域名解析。在那之前,為了通過SSH登錄到server1.example.com,需要使用其IP地址192.168.122.50。
下面這個命令的效果相同:
$ ssh -l root server1.example.com
如果沒有用戶名,ssh命令就以本地系統的當前用戶名訪問遠程系統。例如,如果從michael用戶賬戶執行下面的命令:
$ ssh server1.example.com
則ssh命令認為你在以michael用戶名登錄到server1.example.com系統。如果這個命令是第一次用于兩個系統,則會出現如下消息:
$ ssh server1.example.com
The authenticity of host 'server1.example.com(192.168.122.50)'
can't be established.
ECDSA key fingerprint is b6:80:5d:8c:1d:ab:18:ab:46:15:c5:c8:e3:ea:9f:1c.
Are you sure you want to continue connecting(yes/no)? yes
Warning: Permanently added 'server1.example.com,192.168.122.50'
(ECDSA)to the list of known hosts.
michael@server1.example.com's password:
一旦用ssh建立起連接,就可以在此遠程系統做任何屬于權限范圍內的操作。例如,用戶甚至可以用poweroff命令關閉遠程系統。在執行這個命令后,通常需要幾秒鐘的時間用exit命令退出遠程系統。
2.4.3 SSH的其他命令行工具
如果想用類似FTP的客戶端訪問遠程系統,則sftp命令正好合適。盡管-l開關的意義與ssh命令不同,但是它仍然可以用于登錄到遠程系統上任何用戶的賬戶。雖然普通的FTP通信采用明文模式,但是sftp命令的通信卻以加密的形式傳輸文件。
另外,如果只是想在加密的連接線路中傳輸文件,則可以使用scp命令。例如,我們在本書中提供了一些截圖,它們是第1章和第2章配置的虛擬機的測試結果。為了把這些截圖傳送給我們的某個系統,我們使用一個如下所示的命令,它把F02-20.tif文件從本地目錄復制到遠程系統的/home/michael/RHbook/Chapter2目錄中。
# scp F02-20.tif michael@server1:/home/michael/RHbook/Chapter2/
除非已經配置了基于密鑰的驗證(將在第4章討論),否則這個命令會要求server1服務器上的michael用戶輸入口令。當口令驗證通過后,scp命令就把F02-20.tif文件以加密的形式復制到名為server1服務器的遠程系統上的指定目錄中。
2.4.4 SSH圖形化訪問
ssh命令可以用來在網絡上傳輸GUI應用程序的輸出。這聽起來有點怪,但是如果本地系統運行X服務器,同時從遠程系統上調用遠程GUI客戶端應用程序,則可使用該命令。
默認情況下,SSH服務器和客戶端配置文件都已經設置好以支持在網絡上進行X11通信。所需要的全部操作只是用-X開關選項連接到遠程系統(或者使用-Y開關選項,以使用信任的X11轉發功能,這會繞過一些安全擴展控件)。例如,可以使用圖2-19中的命令序列來監控遠程系統。

圖2-19 用SSH訪問遠程GUI
- Mastering vRealize Operations Manager(Second Edition)
- 蘋果電腦玩全攻略 OS X 10.8 Mountain Lion
- Hands-On DevOps with Vagrant
- Extending Puppet
- 混沌工程:復雜系統韌性實現之道
- Windows Server 2012網絡操作系統企業應用案例詳解
- 直播系統開發:基于Nginx與Nginx-rtmp-module
- VMware NSX Cookbook
- Application Development in iOS 7
- Windows Server 2008組網技術與實訓(第3版)
- Android應用性能優化最佳實踐
- Office 365 User Guide
- VMware Horizon Mirage Essentials
- VMware vSphere 5.1 Cookbook
- Windows 8完全自學手冊