即在源伺服器上先生成乙份公鑰和乙份金鑰,將公鑰複製到目標伺服器,利用命令將公鑰新增至目標伺服器的授權列表(authorized_keys)。當有伺服器帶著公鑰申請連線伺服器時,目標伺服器首先在authorized_keys中查詢是否存在該公鑰,如果存在則開始進行驗證。首先生成乙個隨機字串,利用對應公鑰進行加密,然後返回給申請連線的伺服器,申請連線伺服器利用私鑰進行解密,再將字串返回給目標伺服器完成驗證,進行後續操作。具體步驟:
生成金鑰對
將公鑰上傳至需要登入的主機的授權列表 (authorized_keys)
建立連線時攜帶公鑰
需要登入的主機:例子中為crayonsea.top
ssh-keygen -t rsa # 加密方式 rsa
上述命令會在 ~/.ssh/ 下生成 id_rsa id_rsa.pub
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
在目標伺服器上可檢視操作結果
cd ~/.ssh
vi authorized_keys
ssh [email protected]
實際操作中,可能會出現,在目標伺服器的authorized_keys
中已經寫入公鑰,卻不能免密登入的情況。可以在兩個地方嘗試進行修改:(需要登入的伺服器上crayonsea.top
)
strictmodes no
authorizedkeysfile .ssh/authorized_keys
刪除~/.ssh/known_hosts
chmod 700 authorized_keys
1 和 2 操作完成後可以重啟一下 ssh,再次嘗試
service sshd restart
SSH免密登入
a為本地主機 b為遠端主機 生成公鑰私鑰對 ssh keygen t rsa登入遠端機器 ssh root 然後輸入密碼 將.ssh的許可權設為700 mkdir ssh 如果資料夾已存在,跳過 chmod 700 ssh將本地生成的rsa公鑰複製到遠端機器 scp ssh id rsa.pub r...
SSH免密登入
當我們在配置多台計算,使之可以相互使用無密碼登入 ssh,之前都是一台一台的配置,現在一台a上新增b,然後在另一台b上再次新增a,這樣使得authorized keys中的內容相同,但時並不是完全相同,比如新增順序。如果超過2臺,這種配置就相當複雜了,而且容易出錯。後來,在網上看到了一種簡單的配置,...
SSH免密登入
前提 本地和遠端伺服器都已經安裝了ssh 遠端伺服器ip 192.168.1.145 遠端登入使用者 admin 本地命令 1 ssh keygen t rsa p 一路回車 2 scp ssh id rsa.pub admin 192.168.1.145 home admin ssh 3 按提示輸...