1. 程式人生 > >SSH之免密登陸

SSH之免密登陸

down mar ssp 查看 知識庫 免密 auth cnblogs 了解

又來了,上頭讓小軒我在服務器中寫一個Shell腳本,主要用來在機器B中定時備份機器A中的一些文件。那麽,小軒是怎麽想的呢?

  1. 在小軒的知識庫裏,現在有scp和ssh兩個玩具。別的還真沒有其他什麽東西了。那就想直接用scp去遠程復制好了,但是scp復制的時候還要輸入密碼。那就搞搞讓使用scp的時候不用輸入密碼好了。

以下進入正文

忽略ssh安裝scp安裝過程。默認認為當前機器與遠程機器含有完整的ssh,scp功能

  • 首先在機器B中使用ssh-keygen -t rsa 命令 (想來玩git的童鞋應該知道吧~)
    [hart02@hart02 .ssh]$ ssh-keygen -t rsa
    技術分享圖片
  1. Enter file in which to save the key (/home/hart02/.ssh/id_rsa):

    直接按enter鍵

  2. 之後提示Enter passphrase (empty for no passphrase):意思是說請輸入密碼,如果不輸入則為沒有密碼。當然,小軒使用的enter鍵~之後就是重復輸入密碼了。兩次一定要保持一致哦~,如果第一次不輸入,第二次也還要輸入哦~

註:小軒的機器已經生成過了,所以此時提示說/home/hart02/.ssh/id_rsa already exists.

  1. 輸入完成後就會出現這樣的界面(此界面是小軒在測試機器上重新生成的截圖,幾個重點的東西已經著重標誌出來了)
    技術分享圖片
    從上圖中我們可以了解到生成的公私鑰存放在/user/.ssh/目錄下user為當前登陸用戶家目錄。

下圖中authorized_keys不會自動生成。在當前機器B中暫時沒有什麽用處
技術分享圖片

現在我們在機器A中進行操作,其操作如上述步驟一致。當生成完畢時,我們touch 一個文件,文件名為authorized_keys
技術分享圖片

重要的來了~~:

  1. 在機器B中使用cat id_rsa.pub查看一下公鑰,然後復制這一串東西~
  2. 在機器A中,vim authorized_keys 把復制的東西粘貼到A機器中的這個文件裏面。
  3. ESC -> :wq! -> enter 保存退出
    技術分享圖片

  4. cat authorized_keys 確保寫入成功
  5. chmod 600 authorized_keys 修改文件權限
    技術分享圖片
  6. 以上步驟做完之後一定要做一下/etc/init.d/sshd restart 把ssh服務重新啟動一下。
    技術分享圖片

至此。ssh免密登陸配置完成。說的好聽,不如看看效果:
技術分享圖片

OK,下章來做scp遠程復制腳本的說明~

SSH之免密登陸