ssh學習小記

ssh 爲Secure SHell 的縮寫。OpenSSH: ssh協議的開源實現。算法

   SSH協議版本

v1: 基於CRC-32作MAC,不安全;man-in-middle
v2:雙方主機協議選擇安全的MAC方式
基於DH算法作密鑰交換,基於RSA或DSA實現身份認證

OpenSSH實現的客戶端,服務端

C/S架構
C: ssh, scp, sftp
Windows客戶端:
xshell, putty, securecrt, sshsecureshellclient
S: sshd

ssh客戶端

客戶端組件:
ssh, 配置文件:/etc/ssh/ssh_config
Host PATTERN
StrictHostKeyChecking no 首次登陸不顯示檢查提示
命令登陸格式:ssh [user@]host [COMMAND]
-p port:遠程服務器監聽的端口
-b:指定鏈接的源IP
-v:調試模式
-C:壓縮方式
-X: 支持x11轉發
-Y:支持信任x11轉發
ForwardX11Trusted yes
-t:  強制僞tty分配
ssh -t remoteserver1 ssh remoteserver24040
容許實現對遠程系統經驗證地加密安全訪問
當用戶遠程鏈接ssh服務器時,會複製ssh服務器
/etc/ssh/ssh_host*key.pub(centos7.0默認是ssh_host_ecdsa_key.pub)文件中的公鑰到客戶機的~./ssh/know_hosts中。下次鏈接時,會比較兩處是否有不一樣。
 

基於key認證

 (1) 在客戶端生成密鑰對
ssh-keygen -t rsa [-P ''] [-f 「/root/.ssh/id_rsa"]
#ssh-keygen –t rsa –P ‘’  -f 「/root/.ssh/id_rsa」
 (2) 把公鑰文件傳輸至遠程服務器對應用戶的家目錄
ssh-copy-id [-i [identity_file]] [user@]host

至關於將公鑰內容追加在遠程服務器~/.ssh/authorized_keys 文件中,若無則建立,且權限爲600 shell

 (3) 測試
 (4) 轉化爲openssh兼容格式(適合SecureCRT,Xshell不須要轉化格式),並複製到需登陸主機上相應文件authorized_keys中,注意權限必須爲600
ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys
 (5)重設私鑰口令:#ssh-keygen –p 
基於key認證
驗證代理(authentication agent)保密解密後的密鑰
• 這樣口令就只須要輸入一次
• 在GNOME中,代理被自動提供
• 不然運行ssh-agent bash

關掉代理:ssh-agent -k centos

鑰匙經過命令添加給代理
ssh-add  #添加密語 ,默認文件爲/root/.ssh/id_rsa 等標準文件名格式密鑰

ssh-add -L #查看以代理的私鑰對應的公鑰 文件安全

ssh-add -d #刪除以添加的密語bash

相關文章
相關標籤/搜索