2つのネットワークスイッチ間のファイル転送

2つのネットワークスイッチ間のファイル転送

2つのネットワークスイッチ間でファイルを転送しようとしています。

トポロジー:

スイッチA------スイッチB(10.219.20.209)

私が試した手順は次のとおりです。

  1. 次のコマンドを使用して、SwitchAから公開SSHキーを生成します。

    ssh-keygen -t rsa

  2. 次のコマンドを使用して、新しく生成されたキーをSwitchAからSwitchBにコピーします。

    scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/id_rsa.pub

  3. これでファイル転送を試みますが、まだ資格情報が必要です。

    root@RE:0% scp test.sh [email protected]:/tmp/
    Password:

パスワードを使わずにファイルを転送する方法を提案してください。

答え1

Juniperスイッチには独自の構文があると思います。認証の構成

構文は次のとおりです。

authentication {
(encrypted-password "password" | plain-text-password);
load-key-file URL filename;
no-public-keys;
ssh-dsa "public-key";
ssh-ecdsa "public-key";
ssh-rsa "public-key";
}

答え2

#!/usr/bin/expect --

set arg1 [lindex $argv 0]
set arg2 [lindex $argv 1]
set DATE [exec date +%Y_%m_%d-%H.%M.%S]

spawn echo $DATE
spawn ssh $arg1 -l root

expect {   
          "*(yes/no)*"  { send "yes\r" }
          "Password:"   { send "Juniper\r" }
}
expect {
         "Password:"   { send "Juniper\r" }
         "*@*" {send " \r" }
}
set FILE $arg2 
append FILE "_"
append FILE $DATE

send "cd /var/tmp/; cp $arg2 $FILE ; echo \"\" > NH-HALP.log \r"
expect  "*@*"
send "scp \"$FILE\" [email protected]:/var/tmp/\r" 
expect {
          "*(yes/no)*"  { send "yes\r" }
          "Password:"   { send "Juniper\r" }
}
expect {
         "Password:"   { send "Juniper\r" }
         "*@*" {send " \r" }
}

答え3

ステップ2:使用ssh-copy-id [email protected]

/root/.sshまた、10.219.20.209の権限を確認してください。彼らはする必要がありますdrwx------

関連情報