為了讓兩個linux機器之間使用ssh不需要使用者名稱和密碼。所以採用了數字簽名rsa或者dsa來完成這個操作。
要達到的目的:
a機器ssh登入b機器無需輸入密碼;
加密方式選 rsa|dsa均可以,預設dsa
ssh-keygen -t rsa #使用rsa加密
二、具體操作流程
單向登陸的操作過程(能滿足上邊的目的):
1、登入a機器
2、ssh-keygen -t [rsa|dsa],將會生成金鑰檔案和私鑰檔案 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub (中間要填寫什麼,會直接回車就可以不用管)
3、將 .pub 檔案複製到b機器的 .ssh 目錄(如將 id_dsa.pub複製到 ~/.ssh/authorized_keys中去)
複製的時候最好不要採用手動複製的方式,而是把檔案複製到b機,採用cat id_rsa.pub >> authorized_keys去,必要不要的空格造成問題
4、大功告成,從a機器登入b機器的目標賬戶,不再需要密碼了;(直接執行 #ssh 192.168.148.168)
$ ssh-keygen -t rsa -c "[email protected]"
**引數含義:
-t 指定金鑰型別,預設是 rsa ,可以省略。
-c 設定注釋文字,比如郵箱。
-f 指定金鑰檔案儲存檔名。
注意這裡的檔案許可權問題,如果出現問題,,,可能是檔案許可權的問題,並不是一味的給777
$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
注意有可能出現
unable to negotiate with 218.5.79.120 port 22: no matching key exchange method found. their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
這種型別的錯誤,
那麼,想要解決此問題, 則需要在使用者a目錄下的 .ss**件夾下新建乙個 config 檔案,新增:
host *
kexalgorithms +diffie-hellman-group1-sha1
就可以解決
ssh keygen 免密碼登入
每次買vps,初始化同樣的作業系統,在安裝lnmp環境時,卻不能保證一次通過!不少同學搞了一鍵安裝包,可能我人品不高,每次編譯都不順利。在與系統工程師溝通之後,我決定放棄一鍵安裝的思路。電影 阿甘正傳 有句關於巧克力的台詞,與此相同。記錄一下,ssh keygen憑證書登入的方法,供以後查詢 步驟如...
ssh免密登入設定
1.ssh keygen t rsa p 生成金鑰對 t 指定秘鑰的型別為rsa 2.cat ssh id rsa.pub ssh authorized keys 將生成的公鑰寫入授權檔案中 3.chmod 600 ssh authorized keys 更改授權檔案許可權 4.scp ssh id...
MySQL設定免密登入
在搭建mysql高可用的時候,出現如下問題 在用mysql日誌中提供的初始登入密碼登入失敗,現有免密登入,方法如下 1 在 etc my.cnf中修改 在 mysqld 最後新增 skip grant tables 2 重啟mysql 3 直接mysql進入 4 use mysql 5 修改賬號密碼...