最近在做乙個服務端的專案,需要將檔案同步到其他虛擬機器上,所以採用了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 源路...