** 편집 8/6/15 * 따라서 내 문제의 핵심은 구성 파일의 이상한 점이 아닙니다. 알고 보니 서로 다른 두 곳에 여러 개의 SSH 디렉토리가 있었고 잘못된 디렉토리가 사용되었습니다. 민망한 실수였지만 늘 배워야 하는 거겠죠?
을(를) 사용하려고 하는데 다음과 같은 오류가 발생하는 것을 rsnapshot
이해할 수 없습니다 .rsnapshot
rsync: Failed to exec /usr/bin/ssh -p 22 -i /home/thelemur/.ssh/id_rsa_n900: \
No such file or directory (2)
저에게 이상한 점은 ssh
아무런 문제 없이 bash 터미널에서 동일한 명령줄을 실행할 수 있다는 것입니다. 백슬래시를 사용하고, rsnapshot
루트 디렉터리에서 명령을 입력하고, 구성 파일 sudo
에 직접 넣는 것도 시도해 보았습니다 . rsnapshot
또한 구성 파일에서 탭 위치를 확인했습니다. 내가 뭘 잘못하고 있는지 아는 사람 있나요?
답변1
이 명령을 cmd_ssh 라인에 다음과 같이 입력한 경우:
cmd_ssh /usr/bin/ssh -p 22 -i /home/thelemur/.ssh/id_rsa_n900
그러다가 불행하게도 rsnapshot
. 문제는 cmd_ssh
인수가 실행의 대안으로 전체 값(공백 포함)을 취하는 ssh
반면, 이 경우 당신(그리고 당신 앞의 나)이 원하는 것은 옵션의 쉘 구문 분석이라는 것입니다.
당신이 해야 할 일은 ssh
필요한 호출이 포함된 작은 스크립트를 ssh
생성 하고 $HOME/.ssh/ssh_config
.
전자가 더 쉽습니다. 예를 들어 스크립트에 다음을 입력하면 됩니다 /home/thelemur/.ssh/ssh_with_id_rsa_n900.sh
.
#!/bin/sh
exec ssh -p 22 -i /home/thelemur/.ssh/id_rsa_n900 "$@"
그런 다음 실행 가능하게 만들고 chmod u+x /home/thelemur/.ssh/ssh_with_id_rsa_n900.sh
마지막으로 rsnapshot
구성에서 사용합니다.
cmd_ssh /home/thelemur/.ssh/ssh_with_id_rsa_n900.sh