ssh遠程登錄

SSH遠程登錄:
1、SSH(Secure Shell,安全的命令解釋器)
爲客戶機提供安全的Shell環境,用於遠程管理,默認端口:TCP 22。比較早的telnet、rsh等工具有很大優勢,SSH是目前應用最爲廣泛的服務器遠程管理方式
SSH登錄使用的用戶名:服務器中的本地系統用戶的帳號名
SSH登錄的用戶驗證方式
密碼驗證:使用服務器中系統帳號對應的密碼
密鑰對驗證:使用客戶機中生成的公鑰、私鑰
OpenSSH
        官方站點:http://www.openssh.com
        主要軟件包: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   監聽的端口(默認22)
ListenAddress 192.168.2.1   監聽 的IP地址(默認監聽所有IP)
PermitRootLogin no    禁止ROOT用戶遠程登錄
PermitEmptyPasswords no   禁止密碼爲空的用戶遠程登錄
LoginGraceTime 2m  限制用戶登錄驗證過程的時間(默認爲2分鐘)
MaxAuthTries 6     限制用戶登錄驗證過程的最大重試次數
DenyUsers zhangsan  lisi   拒絕XX用戶遠程登錄系統,其他均允許
AllowUsers jerry  [email protected]   允許jerry在任何何IP的主機上遠程登錄,允許admin只能在主機61.23.24.25登錄 ,其他均拒絕(不要同時使用AllowUsers和DenyUsers配置)
PasswordAuthentication   yes   是否啓用密碼驗證
PubkeyAuthentication   yes     是否啓用密鑰對驗證
AuthorizedKeysFile    .ssh/authorized_keys    指定保存各用戶公鑰內容的數據文件位置,默認保存客戶機用戶公鑰信息的文件位於(服務器某個用戶宿主目錄下的)
3、SSH客戶端應用
           使用ssh命令遠程登錄
        方式1: ssh 用戶名@服務器地址
        方式2: ssh -l 用戶名  服務器地址
        方式3: ssh  服務器地址(缺省時會嘗試以當前的本地用戶名進行登錄)
        如查SSH服務器使用非默認端口,則客戶機在登錄時必須時確指定端口號
ssh   -p  端口   用戶名@服務器地址
SSH通過公鑰加密的方式保持通信安全,當某一SSH客戶端連接到SSH服務器時,在該客戶端登錄之前,服務器會向其發公鑰副本。這可用於設置通信渠道的安全加密。
當用戶第一次使用SSH連接到特定服務器時,SSH命令可在用戶的~/.ssh/known_hosts文件中存儲服務器的公鑰。在此之後每當用戶進行連接時,通過對此~/.ssh/known_hosts文件中的服務器條目和服務器發送的公鑰,都可保證從服務器獲取相同的公鑰。如果公鑰不匹配,客戶端會假定網絡傳輸已遭劫持,或者服務器已被***且中斷連接。這意味着,如果服務器的公鑰發生更改(由於硬盤出現故障而導致公鑰丟失),用戶則需要更新其~/.ssh/known_hosts文件以刪除舊的輸入才能夠進行登錄。
使用命令cat  ~/.ssh/known_hosts文件內容
還有一種更好的方法是,在公鑰發生更改時,提前將與服務器的ssh_host_*key.pub(在/et c/ssh目錄中)文件相匹配的條目添加到用戶~/.ssh/known_hosts或系統範圍的/etc/ssh/ssh_known_hosts中。
        使用scp命令遠程複製文件/目錄
        方式1: scp 用戶名@服務器地址:源文件 目標路徑
        方式2: scp 本地文件 用戶名@服務器地址:目標路徑
        若複製的是目錄,則需添加“-r”選項
        使用sftp命令從服務器下載文件
        使用圖形客戶端軟件 PuttyCN
        主要用途:基於SSH協議遠程登錄以便管理服務器
        下載地址:http://wrc.gro.clinux.org/putty/
        使用圖形客戶端軟件 WinSCP
        主要用途:基於sftp、scp或ftp的方式下載/上傳數據
        下載地址:http://winscp.net/
在遠程計算機上運行命令:
ssh命令可用於在遠程計算機上打shell並在該計算機上運行命令,有時,還可以保存在遠程計算機上運行的命令輸出,無論是保存在遠程計算機,還是本地計算機上。
輸出重定向至本地文件:
ssh  user@host  ‘command1 ; command2’ > log.local     //單引號
輸出重定向至遠程文件:
ssh  user@host  ‘command1 ; command2 > log.remote’   //單引號
4、構建密鑰對驗證的SSH登錄體系

基本實現步驟
1.在客戶機創建密鑰對
ssh-keygen命令:ssh-keygen -t rsa 或ssh-keygen  -t dsa   創建證書
2.將公鑰文件上傳至服務器
   在/home/用戶/下建立.ssh文件夾,並將其權限設置爲700
   方法:使用普通用戶登錄SSH服務器,創建.ssh目錄,或使用ROOT用戶創建.ssh目錄,並更改屬主和屬組爲該普通用戶
   把公匙傳到SSH服務器主機的/home/用戶名/.ssh中並命名爲authorized_keys
   可以使用scp命令或ssh-copy-id -i .ssh/id_rsa.pub  用戶名@SSH服務器
   id_rsa_pub文件可以一對多
3.設置服務器
禁用密碼驗證、啓用密鑰對驗證,並重啓sshd服務
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章