設置主機允許其他機器免密碼遠程複製文件到本機

場景:先由A和B兩臺機器,要使用scp命令,在shell中將A主機的文件複製到B主機,且這個shell腳本是crontab定時任務,自動定時執行,所以需要配置免密碼從A複製文件到B。

1. A主機中輸入命令:ssh-keygen -t rsa

在後面的等待輸入全部直接回車,直到命令結束,如下:

[root@cosmoplat-cluster-1 bin]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #這裏直接回車,不要輸入路徑
Enter passphrase (empty for no passphrase): #這裏直接回車,不要輸入密碼
Enter same passphrase again: #這裏直接回車,不要輸入密碼
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:U/T/AOA2pok3tlfTQqtwz0dQQy2Zm0t1jf62bf8MpBY root@cosmoplat-cluster-1
The key's randomart image is:
+---[RSA 2048]----+
|          o  .+=.|
|         o o .=.=|
|          * =. =.|
|       . * o *=  |
|      . S . E.*o |
|       o * = B.oo|
|        . o = o.+|
|         . . . +o|
|               .*|
+----[SHA256]-----+

上面會生成一個id_rsa.pub文件到/root/.ssh路徑下。這裏面保存了一個密鑰。

2. 複製文件/root/.ssh/id_rsa.pub 到B主機的/root/.ssh 路徑

3.1 一定要注意:如果B主機下面有authorized_keys文件,則把id_rsa.pub中的內容複製並追加到B主機的authorized_keys文件中

3.2 如果B主機下沒有文件,則vi直接創建一個authorized_keys文件,並把id_rsa.pub中的內容複製到authorized_keys文件中

4. 測試,從A主機直接scp命令複製文件到B主機,可以直接複製過去,如下:

[root@cosmoplat-cluster-1 .ssh]# scp -r /opt/apache-cassandra-2.1.9/bin/backup.sh [email protected]:/home
\S
Kernel \r on an \m
Warm tips :Authorized for Haier Utility's Uses only. All activity may be monitored and reported.
If you have any questions,please contact us.
Mailbox:[email protected]
Phone:68066686 / 1000 / 8173
backup.sh                                                                                                                                                                                                            100% 2579     1.8MB/s   00:00    

總結:A主機生成一個證書密鑰給B主機,B主機把這個證書密鑰保存到自己的/root/.ssh/authorized_keys文件中,然後,從A主機複製文件到B主機就不再需要密碼了。

注意:使用此方法需要兩臺計算機使用相同的賬戶名,這裏都是用的root。

over.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章