使用ssh打通伺服器之間免密登入以及兩個伺服器之間檔案cp指令碼上加密碼
阿新 • • 發佈:2021-01-28
作者:施自揚
微訊號:shiziyangwx
使用ssh打通伺服器之間免密登入以及檔案cp
環境:騰訊雲伺服器 A:伺服器是使用ssh命令的伺服器 ,B:伺服器是有檔案的伺服器想要跳轉到的伺服器
1、免密跳轉驗證
跳轉B伺服器命令
ssh root@172.21.16.2
輸入完上面的命令之後,會提示你輸入密碼,此時輸入密碼即可正常進入。(預設埠是22)
第一步:在 A 的./root/.ssh/目錄下,有兩個檔案:id_rsa.pub和id_rsa。前者是當前伺服器當前使用者的公鑰,後者是當前伺服器當前使用者的私鑰。如果沒有,則使用如下命令生成金鑰對:
ssh-keygen -t rsa
執行上面的命令以後,系統會出現一系列提示,可以一路回車。
第二步:金鑰傳到遠端伺服器的命令
ssh-copy-id -i ~/.ssh/id_rsa.pub {B伺服器賬號}@{B伺服器內網ip}
ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.21.16.2
第三步:驗證是否免密
ssh {B伺服器賬號}@{B伺服器內網ip}
ssh root@172.21.16.2
驗證成功!
2、複製功能
假如A、B都有SSH服務,現在在A的SSH裡
(一)從A複製到B (推過去)
scp -rp /{路徑}/{檔名稱} {B伺服器賬號}@{B伺服器內網ip}: /{路徑}
scp -rp /path/test.sh root@172.21.16.2:/path
(二)從B複製到A (拉過來)
scp -rp {B伺服器賬號}@{B伺服器內網ip}: /{路徑}/{檔名稱} /{路徑}
scp -rp root@172.21.16.2:/path/test.sh /path
(三)指令碼使用:
cp B伺服器的一個jar包 到A伺服器 指令碼上可以加上B伺服器的密碼
123456 是密碼
yum -y install expect
source /etc/profile
expect -c "
spawn scp -r root@172.21.16.2:/var/lib/jenkins/ workspace/k8s-dataapi/target/d-dataApi-1.0-SNAPSHOT.jar /home/harbor/images/dataApi
expect {
\"*assword\"
{
set timeout 300;
send \"123456\r\";
}
\"yes/no\"
{
send \"yes\r\"; exp_continue;}
}
expect eof"