自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SSH傳輸scp免密碼登陸的方法

運維 系統(tǒng)運維
最近在編寫定時自動執(zhí)行的shell腳本中遇到一個問題。在該腳本中,需要使用scp命令將本地的文件復制到另一臺機器中備份。但通常執(zhí)行scp命令后都需要輸入用戶密碼,如何才能免密碼登陸呢?

   最近在編寫定時自動執(zhí)行的shell腳本中遇到一個問題。在該腳本中,需要使用scp命令將本地的文件復制到另一臺機器中備份。但通常執(zhí)行scp命令后都需要輸入用戶密碼,這樣在定時自動執(zhí)行的shell腳本中就不適用了。

 
  本人的第一直覺就是建立無密碼用戶,在scp命令中使用該用戶就不需要輸入用戶密碼了。
 
  以下為了討論方便,我們將執(zhí)行scp命令的機器稱為Client,scp命令操作的遠端機器稱為Server。
 
  首先,我通過以下命令將機器Server上root的密碼刪除,即使root變?yōu)闊o密碼用戶。
 
  [root@Server root]# passwd -d root
  Removing password for user root.
  passwd: Success
  [root@Server root]#
  為了確認root已經變?yōu)闊o密碼用戶,登錄試試。
 
  Red Hat Linux release 8.0 (Psyche)
  Kernel 2.4.18-14 on an i686
  Server login: root
  Last login: Fri Sep 14 16:40:08 on tty1
  [root@Server root]#
  確實root登錄時已經不需要密碼了。
 
  然后,我們從機器Client復制一個文件到機器Server。
 
  [root@Client root]# scp -p text root@192.168.3.206:/root
  root@192.168.3.206's password:                         <-- 直接輸入回車
  Permission denied, please try again.                   <-- 被拒絕
  root@192.168.3.206's password:                         <-- 輸入任意字符
  text                 100% |**************************|    19       00:00
  [root@Client root]#
  從測試結果可知,即使root變?yōu)闊o密碼用戶,scp命令在執(zhí)行時也會提示輸入密碼。更奇怪的是在提示輸入密碼時,直接輸入回車被拒絕了。但輸入其它任意字符后輸入回車確認就通過認證了。
 
  后來在Internet中查找相關資料,有資料[1]介紹在兩臺機器的兩個用戶之間建立安全的信任關系后,可實現執(zhí)行scp命令時不需要輸入用戶密碼。我根據該資料介紹的方法測試成功了。
 
  以下是在機器Client的root和機器Server的root之間建立安全信任關系的步驟:
 
  1. 在機器Client上root用戶執(zhí)行ssh-keygen命令,生成建立安全信任關系的證書。
 
  [root@Client root]# ssh-keygen -b 1024 -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:
  49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1c root@Client
  [root@Client root]#
  注意:在程序提示輸入passphrase時直接輸入回車,表示無證書密碼。
 
  上述命令將生成私鑰證書id_rsa和公鑰證書id_rsa.pub,存放在用戶家目錄的.ssh子目錄中。
 
  2. 將公鑰證書id_rsa.pub復制到機器Server的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys。
 
  [root@Client root]# scp -p .ssh/id_rsa.pub root@192.168.3.206:/root/.ssh/authorized_keys
  root@192.168.3.206's password:          <-- 輸入機器Server的root用戶密碼
  id_rsa.pub           100% |**************************|   218       00:00
  [root@Client root]#
  在執(zhí)行上述命令時,兩臺機器的root用戶之間還未建立安全信任關系,所以還需要輸入機器Server的root用戶密碼。
 
  經過以上2步,就在機器Client的root和機器Server的root之間建立安全信任關系。下面我們看看效果:
 
  [root@Client root]# scp -p text root@192.168.3.206:/root
  text                 100% |**************************|    19       00:00
  [root@Client root]#
  成功了!真的不再需要輸入密碼了。
責任編輯:黃丹 來源: 博客
相關推薦

2015-05-28 15:32:14

Linuxssh

2012-05-08 11:14:27

LinuxOpenSSHSSH

2021-03-26 09:48:24

SSHLinux命令

2011-03-25 09:35:07

2009-08-14 09:40:55

MyEclipse整合

2023-09-13 22:54:06

2009-07-06 18:18:28

遠程攻略SecureCRTSSH 

2020-10-13 06:59:12

CA簽名密鑰SSH

2011-09-09 13:28:01

Ubuntussh

2012-09-28 10:12:55

2015-10-21 11:03:21

ssh登錄Linux

2016-01-25 13:03:21

2025-01-14 00:00:10

Mysql登陸數據庫

2018-09-20 09:12:16

2009-08-27 17:20:30

ASP.NET登陸控件membership配

2018-02-10 18:55:23

Windows 10Windows手機驗證登陸

2016-07-28 16:25:00

2011-07-20 09:27:37

Scala

2012-02-28 09:41:20

AD病毒微軟

2018-05-31 09:33:45

Google 網站Chrome
點贊
收藏

51CTO技術棧公眾號