SSH 키를 사용하여 역방향 포트 전달을 통해 두 원격 서버 간에 rsync를 실행하려고 합니다.

SSH 키를 사용하여 역방향 포트 전달을 통해 두 원격 서버 간에 rsync를 실행하려고 합니다.

두 서버 간에 rsync를 실행하려고 합니다. 내 근거는 다음 기사입니다.두 리모컨 간에 파일을 동기화하는 방법은 무엇입니까?

내가 누락된 것은 각 서버에 로그인하는 데 키(동일 키)가 필요할 때 (ssh를 통해) rsync를 촉진하는 방법입니다.

이것은 내가 얻은 가장 가까운 것입니다:

ssh -i ~/path/to/pem/file.pem -R localhost:50000:SERVER2:22 ubuntu@SERVER1 'rsync -e "ssh -p 50000" -vur /home/ubuntu/test localhost:/home/ubuntu/test'

초기 연결이 제대로 작동하는 것 같지만 SERVER2에 대한 키와 사용자 이름을 지정하는 방법을 알 수 없는 것 같습니다.

어떤 아이디어가 있나요?

답변1

SSH 에이전트를 사용하는 것이 좋습니다. 이렇게 하면 키 쌍만 필요하고 개인 부분은 워크스테이션에 보관됩니다. 다른 서버에 복사하거나(그 자체로는 나쁜 생각임) 특정 서버에 대한 추가 키 쌍을 만들 필요가 없습니다.

SSH 에이전트를 시작하는 방법은 여러 가지가 있습니다. 자세한 내용을 읽을 수 있습니다.거기. 이것은 가장 간단합니다.

eval ($ssh-agent)

그런 다음 에이전트에 키를 추가하세요.

ssh-add /path/to/private.key

키가 보호되어 있는 경우 비밀번호를 입력하라는 메시지가 표시됩니다. 추가한 후에는 메시지를 표시하지 않고 공개 섹션이 있는 서버에 연결할 수 있습니다.

또한 이 서버에서 다른 서버로 계속 SSH를 통해 연결할 수 있으며 프록시는 다음과 같은 경우 추가로 사용자를 인증합니다.프록시 전달 허용SSH 서버 옵션은 기본적으로 기본값인 yes로 설정되어 있습니다.

그럼 프롤로그입니다 :)

이제 귀하의 사건으로 돌아가십시오. 서버 구성이 포트 전달을 금지하지 않는 한 방법은 다음과 같습니다.

  1. 프록시를 사용하여 SERVER2에 연결할 수 있는지 확인하세요.

ssh ubuntu@SERVER1 'echo Hi from $(hostname)'

  1. SERVER1에서 SERVER2로의 프록시 전달이 정상적인지 확인하세요.

ssh -t ubuntu@SERVER1 ssh SERVER2 'Hi from $(hostname)'

  1. 포트 전달을 통해서만 연결 시작

ssh -R localhost:50000:SERVER2:22 -Nv

해당 터미널 창을 열어 두십시오.

  1. 새 터미널 창에서 SERVER1에 로그인하고 거기에서 포트가 요청대로 전달되는지 확인합니다.

[SERVER1]ssh -p 50000 localhost 'echo Hi from $(hostname)'

SERVER2의 안녕하세요가 표시됩니다.

위의 4단계가 모두 효과가 있으면 rsync 명령을 실행할 수 있습니다. 그냥 생략하세요.-i part

답변2

세 단계:

  1. 모든 것이 연결된 ~/.ssh/configon을 만듭니다 . 예를 들면 다음과 같습니다.SERVER1SERVER2

    Host SERVER2
      Port 50000
      User user2
      Hostname localhost
      IdentityFile ~/path/to/pem/file.pem
    
  2. SERVER2매개변수 없이 호스트에 연결해 보십시오 ( SERVER1포트 전달을 시작한 후부터).

    ssh SERVER2 # works?
    

    그렇지 않은 경우 이를 추가 -vvv하고 무엇이 잘못되었는지 조사하십시오.

  3. rsync 명령을 실행합니다:

    ssh -i ~/path/to/pem/file.pem -R localhost:50000:SERVER2:22 ubuntu@SERVER1 \
      'rsync -vur /home/ubuntu/test SERVER2:/home/ubuntu/test'
    

이 방법으로 수행하려면 에 인증 키가 있어야 합니다 SERVER1. 컴퓨터에서 개인 키를 복사하는 것보다 새 키를 만드는 것이 더 좋습니다.

관련 정보