伺服器免密登入以及SecureCRT免密登入
阿新 • • 發佈:2019-01-01
ssh免密登入原理:
ssh免密登入使用公鑰私鑰金鑰對的形式對客戶端伺服器進行驗證
核心原則:公鑰加密的資訊,只有私鑰能解密,詳情百度rsa演算法
tips:也有私鑰加密,公鑰解密的加密演算法,實際應用是訊息簽名(https第三方信任機構)
具體互動過程是,服務端隨機生成字串使用公鑰加密之後傳送給客戶端伺服器,客戶端伺服器使用私鑰解密出明文傳送給服務端進行驗證,若相等則成功建立連線
1、SecureCRT免密登入:
開啟SecureCRT工具--tools--create public key,選擇演算法按照步驟建立公鑰私鑰,登入linux系統
cd ~
檢視使用者目錄下有沒有.ssh資料夾,沒有則新建
進入.ssh資料夾檢視有沒有authorized_keys檔案,沒有則新建mkdir .ssh
touch authorized_keys
開啟剛剛工具生成的id_rsa.pub檔案,將裡面的內容拷貝到authorized_keys檔案中
在linux中執行
service sshd restart
開啟secureCRT新建連線--SSH2在圖示位置選擇剛剛生成金鑰對的私鑰,點選ok,然後即可連線(第一次登陸可能要驗證一次你輸入的短語,照之前的短語再輸入一次即可)
2、伺服器免密登入
未安裝ssh的先安裝一下
登入A伺服器使用者a
ssh-keygen -t rsa
連續3個回車在使用者目錄下的.ssh資料夾中會生成id_rsa(私鑰),id_rsa.pub(公鑰),檢視id_rsa.pub
登入B伺服器使用者b,將id_rsa.pub中的內容拷貝到B伺服器~/.ssh/authorized_keys檔案中(追加)cat id_rsa.pub
在B伺服器中編輯sshd_config配置檔案
vi /etc/ssh/sshd_config
確保
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes
需要的話可以開啟
PermitRootLogin yes
tips:這裡還可以配置AllowUsers,嚴格控制可ssh登入的使用者
使用b使用者配置許可權
注意這裡的許可權要求是嚴格的,不能高也不能低chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys
在B伺服器中重啟ssh,載入配置檔案
service sshd restart
最後,登入A伺服器使用者a遠端連線B伺服器下的b使用者
ssh -vv [email protected]
-vv可以列印A服務連線日誌,
B伺服器的日誌在/var/log/secure或者/var/log/message下可以檢視,連線失敗可以檢視這兩個部分的日誌排查
tips:
[email protected]
b可以預設,但是最好不要,預設就必須a和b的使用者名稱一模一樣才能登陸,這個坑坑死我了