SSH遠程登錄: 1、SSH(Secure Shell,安全的命令解釋器) 為客戶機提供安全的Shell環(huán)境,用于遠程管理,默認端口:TCP 22。比較早的telnet、rsh等工具有很大優(yōu)勢,SSH是目前應用最為廣泛的服務器遠程管理方式 SSH登錄使用的用戶名:服務器中的本地系統(tǒng)用戶的賬號名 SSH登錄的用戶驗證方式 密碼驗證:使用服務器中系統(tǒng)賬號對應的密碼 密鑰對驗證:使用客戶機中生成的公鑰、私鑰 OpenSSH 官方站點:http://www. 主要軟件包:openssh-server、openssh-clients 服務名:sshd 服務端主程序:/usr/sbin/sshd 客戶端主程序:/usr/bin/ssh 服務端配置文件:/etc/ssh/sshd_config 客戶端配置文件:/etc/ssh/ssh_config 2、SSH服務器端配置文件:sshd_config Port 22 監(jiān)聽的端口(默認22) ListenAddress 192.168.2.1 監(jiān)聽 的IP地址(默認監(jiān)聽所有IP) PermitRootLogin no 禁止ROOT用戶遠程登錄 PermitEmptyPasswords no 禁止密碼為空的用戶遠程登錄 LoginGraceTime 2m 限制用戶登錄驗證過程的時間(默認為2分鐘) MaxAuthTries 6 限制用戶登錄驗證過程的最大重試次數(shù) DenyUsers zhangsan lisi 拒絕XX用戶遠程登錄系統(tǒng),其他均允許 AllowUsers jerry admin@61.23.24.25 允許jerry在任何何IP的主機上遠程登錄,允許admin只能在主機61.23.24.25登錄 ,其他均拒絕(不要同時使用AllowUsers和DenyUsers配置) PasswordAuthentication yes 是否啟用密碼驗證 PubkeyAuthentication yes 是否啟用密鑰對驗證 AuthorizedKeysFile .ssh/authorized_keys 指定保存各用戶公鑰內(nèi)容的數(shù)據(jù)文件位置,默認保存客戶機用戶公鑰信息的文件位于(服務器某個用戶宿主目錄下的) 3、SSH客戶端應用 使用ssh命令遠程登錄 方式1: ssh 用戶名@服務器地址 方式2: ssh -l 用戶名 服務器地址 方式3: ssh 服務器地址(缺省時會嘗試以當前的本地用戶名進行登錄) 如查SSH服務器使用非默認端口,則客戶機在登錄時必須時確指定端口號 ssh -p 端口 用戶名@服務器地址 SSH通過公鑰加密的方式保持通信安全,當某一SSH客戶端連接到SSH服務器時,在該客戶端登錄之前,服務器會向其發(fā)公鑰副本。這可用于設置通信渠道的安全加密。 當用戶第一次使用SSH連接到特定服務器時,SSH命令可在用戶的~/.ssh/known_hosts文件中存儲服務器的公鑰。在此之后每當用戶進行連接時,通過對此~/.ssh/known_hosts文件中的服務器條目和服務器發(fā)送的公鑰,都可保證從服務器獲取相同的公鑰。如果公鑰不匹配,客戶端會假定網(wǎng)絡傳輸已遭劫持,或者服務器已被入侵且中斷連接。這意味著,如果服務器的公鑰發(fā)生更改(由于硬盤出現(xiàn)故障而導致公鑰丟失),用戶則需要更新其~/.ssh/known_hosts文件以刪除舊的輸入才能夠進行登錄。 使用命令cat ~/.ssh/known_hosts文件內(nèi)容 還有一種更好的方法是,在公鑰發(fā)生更改時,提前將與服務器的ssh_host_*key.pub(在/et c/ssh目錄中)文件相匹配的條目添加到用戶~/.ssh/known_hosts或系統(tǒng)范圍的/etc/ssh/ssh_known_hosts中。 使用scp命令遠程復制文件/目錄 方式1: scp 用戶名@服務器地址:源文件 目標路徑 方式2: scp 本地文件 用戶名@服務器地址:目標路徑 若復制的是目錄,則需添加“-r”選項 使用sftp命令從服務器下載文件 使用圖形客戶端軟件 PuttyCN 主要用途:基于SSH協(xié)議遠程登錄以便管理服務器 下載地址:http://wrc.gro./putty/ 使用圖形客戶端軟件 WinSCP 主要用途:基于sftp、scp或ftp的方式下載/上傳數(shù)據(jù) 下載地址:http:/// 在遠程計算機上運行命令: ssh命令可用于在遠程計算機上打shell并在該計算機上運行命令,有時,還可以保存在遠程計算機上運行的命令輸出,無論是保存在遠程計算機,還是本地計算機上。 輸出重定向至本地文件: ssh user@host ‘command1 ; command2’ > log.local //單引號 輸出重定向至遠程文件: ssh user@host ‘command1 ; command2 > log.remote’ //單引號 4、構建密鑰對驗證的SSH登錄體系 基本實現(xiàn)步驟 1.在客戶機創(chuàng)建密鑰對 ssh-keygen命令:ssh-keygen -t rsa 或ssh-keygen -t dsa 創(chuàng)建證書 2.將公鑰文件上傳至服務器 在/home/用戶/下建立.ssh文件夾,并將其權限設置為700 方法:使用普通用戶登錄SSH服務器,創(chuàng)建.ssh目錄,或使用ROOT用戶創(chuàng)建.ssh目錄,并更改屬主和屬組為該普通用戶 把公匙傳到SSH服務器主機的/home/用戶名/.ssh中并命名為authorized_keys 可以使用scp命令或ssh-copy-id -i .ssh/id_rsa.pub 用戶名@SSH服務器 id_rsa_pub文件可以一對多 3.設置服務器 禁用密碼驗證、啟用密鑰對驗證,并重啟sshd服務 |
|