두 네트워크 스위치 간 파일 전송

두 네트워크 스위치 간 파일 전송

두 네트워크 스위치 간에 파일을 전송하려고 합니다.

토폴로지:

스위치 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------.

관련 정보