linux scp 免密碼傳輸

2021-08-08 08:56:33 字數 1897 閱讀 6219

最近在做乙個服務端的專案,需要將檔案同步到其他虛擬機器上,所以採用了scp傳輸這個方案。這裡總結下無密碼傳輸配置流程(心情不好,寫個文章發洩)。

1、獲取 a 機器使用者公鑰

- 已存在的話可以直接使用,路徑一般是 ~/.ssh/id_ras.pub

- 不存在的話執行 ssh-keygen -t rsa 命令建立,一路 yes 就可以了

2、發布a的公鑰

- 可以在**上發布

- 直接copy給同事

3、在 b 機器配置信任公鑰

在home目錄下執行以下命令

cat id_rsa.pub >>.ssh/authorized_keys

1.許可權問題

當前使用者設定以下許可權即可

chmod 700 .ssh/

chmod 600 .ssh/authorized_keys

2.centos 特別配置

root下執行下面配置

vi $/etc/ssh/sshd_config

# 找到以下內容移除 "#"

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile .ssh/authorized_keys

修改完成後root下執重啟sshd

/sbin/service sshs restart

3.指令碼 scp 第一次需要輸入 yes 同意 add know hosts

兩個方法

a.新增expect,具體用法自己谷歌。

expect

"*password:"

}

b.新增兩個引數 -o stricthostkeychecking=no -o userknownhostsfile=/dev/null,如下:

scp -o stricthostkeychecking=no -o userknownhostsfile=/dev/null readme.txt root@***

#!/usr/bin/expect/ -f

# 設定虛擬機器密碼,ip和秘鑰位址

linux scp免密傳輸

雙機設定scp互信,本文案例是,a機 scp檔案到b機。1 生成信任憑證 a 在a機執行 ssh keygen t rsa照提示操作,不要輸入passphrase。成功後,在 root ssh生成以下檔案 rw 1 root root 1675 jun 17 16 48 id rsa rw r r ...

linux scp傳輸檔案

在linux下一般用scp這個命令來通過ssh傳輸檔案。2 上傳本地檔案到伺服器 scp path filename username servername path 例如scp var www test.php root 192.168.0.101 var www 把本機 var www 目錄下的...

expect實現rsync免密碼傳輸

問題背景 生產伺服器a,災備伺服器b,由於生產環境更新頻繁,要保持災備環境和生產環境的資料一致性,所以用指令碼形式定時同步生產a的內容到災備b。實現方式 1 expect指令碼實現單個目錄免密碼傳輸,dataguard expect.exp usr bin expect 定義變數 srcdir 源路...