비밀번호를 여러 번 묻지 않고 여러 rsync 명령

비밀번호를 여러 번 묻지 않고 여러 rsync 명령

rsync원격 호스트에서 개인용 컴퓨터의 여러 파일로 bash 스크립트를 작성하고 있습니다 .

지금까지 작성한 내용은 rsync명령 다음에 명령을 실행하여 작동합니다(총 3개). 각 실행 후에 SSH 비밀번호를 입력해야 합니다.rsync

#!/bin/bash
# create the command line argument, that will be PASSED when calling the script
while getopts r: option
do
case "${option}"
in
r) RUNNAME=${OPTARG};;
esac
done

# create the directory on the Toshiba hard Drive
mkdir -p /media/user/TOSHIBA\ EXT/novaseq/$RUNNAME/InterOp

mkdir -p /media/user/TOSHIBA\ EXT/novaseq/$RUNNAME/Unaligned/Stats

# rsync the files into the "base directory"
# the files that have to be rsynced have the extension .csv, .txt and .xml
rsync -avzh user@remote-host:/nexusb/Novaseq/$RUNNAME/*.* /media/user/TOSHIBA\ EXT/novaseq/$RUNNAME/ && rsync -avzh user@remote-host:/nexusb/Novaseq/$RUNNAME/InterOp/*.bin /media/user/TOSHIBA\ EXT/novaseq/$RUNNAME/InterOp && rsync -avzh user@remote-host:/nexusb/Novaseq/$RUNNAME/Unaligned/Stats/*.* /media/user/TOSHIBA\ EXT/novaseq/$RUNNAME/Unaligned/Stats

rsyncSSH 비밀번호만 입력하여 이 세 가지 명령을 호출할 수 있는 방법이 있나요 ?한 번대신 세 번?

답변1

@Kusalananda가 제안한 대로 SSH 프록시를 사용하세요. 이미 ssh를 통해 로그인되어 있으므로 ssh-agent를 인스턴스화하여 스크립트를 실행하면 정상적으로 작동합니다.

eval $(ssh-agent)
ssh-add 

동일한 ssh-agent에 여러 SSH 키를 추가할 수 있습니다. ssh-add기본 위치에 추가하세요. 공개/개인 키 쌍이 기본 위치에 없으면 ssh-add 명령에 추가하십시오.

이 스크립트 외부에서 ssh-agent를 사용하는 경우 로그인 시 시작할 수도 있습니다.

편집: 원격 서버의 스크립트가 종료된 후 ssh-agent를 종료하는 것이 좋은 생각인 것 같습니다. 다른 사람이 루트 액세스 권한을 갖고 있으면 귀하의 비밀번호를 읽을 수 있습니다. 완벽한 보안 솔루션을 원한다면 다음을 확인하세요.이 기사.

관련 정보