又來了,上頭讓小軒我在伺服器中寫一個Shell腳本,主要用來在機器B中定時備份機器A中的一些文件。那麼,小軒是怎麼想的呢? 1. 在小軒的知識庫里,現在有scp和ssh兩個玩具。別的還真沒有其他什麼東西了。那就想直接用scp去遠程複製好了,但是scp複製的時候還要輸入密碼。那就搞搞讓使用scp的時候 ...
又來了,上頭讓小軒我在伺服器中寫一個Shell腳本,主要用來在機器B中定時備份機器A中的一些文件。那麼,小軒是怎麼想的呢?
- 在小軒的知識庫里,現在有scp和ssh兩個玩具。別的還真沒有其他什麼東西了。那就想直接用scp去遠程複製好了,但是scp複製的時候還要輸入密碼。那就搞搞讓使用scp的時候不用輸入密碼好了。
以下進入正文
忽略ssh安裝scp安裝過程。預設認為當前機器與遠程機器含有完整的ssh,scp功能
- 首先在機器B中使用ssh-keygen -t rsa 命令 (想來玩git的童鞋應該知道吧~)
[hart02@hart02 .ssh]$ ssh-keygen -t rsa
對
Enter file in which to save the key (/home/hart02/.ssh/id_rsa):
直接按enter鍵之後提示
Enter passphrase (empty for no passphrase):
意思是說請輸入密碼,如果不輸入則為沒有密碼。當然,小軒使用的enter鍵~之後就是重覆輸入密碼了。兩次一定要保持一致哦~,如果第一次不輸入,第二次也還要輸入哦~
註:小軒的機器已經生成過了,所以此時提示說/home/hart02/.ssh/id_rsa already exists.
- 輸入完成後就會出現這樣的界面(此界面是小軒在測試機器上重新生成的截圖,幾個重點的東西已經著重標誌出來了)
從上圖中我們可以瞭解到生成的公私鑰存放在/user/.ssh/目錄下user為當前登陸用戶家目錄。
下圖中authorized_keys不會自動生成。在當前機器B中暫時沒有什麼用處
現在我們在機器A中進行操作,其操作如上述步驟一致。當生成完畢時,我們touch 一個文件,文件名為authorized_keys
重要的來了~~:
- 在機器B中使用
cat id_rsa.pub
查看一下公鑰,然後複製這一串東西~ - 在機器A中,
vim authorized_keys
把複製的東西粘貼到A機器中的這個文件裡面。 ESC -> :wq! -> enter 保存退出
cat authorized_keys
確保寫入成功chmod 600 authorized_keys
修改文件許可權
以上步驟做完之後一定要做一下
/etc/init.d/sshd restart
把ssh服務重新啟動一下。
至此。ssh免密登陸配置完成。說的好聽,不如看看效果:
OK,下章來做scp遠程複製腳本的說明~