다음과 같이 sshfs를 실행 중입니다.
sshfs basicuser@192.168.1.111:/var/www/myapp /home/basicuser/code -o sftp_server="/usr/bin/sudo /usr/libexec/openssh/sftp-server"
RSA 키도 만들었으므로 암호 프롬프트없이 ssh를 통해 로그인 할 수 있습니다 (테스트 한 결과 작동합니다).
또한 비밀번호없이 sftp-server를 실행하기 위해 sudoers 파일에 사용자를 추가했습니다.
basicuser ALL=(ALL) NOPASSWD: /usr/libexec/openssh/sftp-server
이 오류의 원인은 무엇입니까? 어떻게 알 수 있습니까?
편집하다
원격 서버에서 로컬 컴퓨터의 폴더를 마운트하려고합니다. 원격 서버에서는 루트 만 해당 폴더에 대한 읽기 / 쓰기 권한을 갖습니다.
원격 폴더 : / var / www / myapp (루트 전용 읽기 / 쓰기)
답변
sshfs를 다음과 같이 실행하면 실패에 대한 자세한 정보를 얻을 수 있습니다.
sshfs -odebug,sshfs_debug,loglevel=debug user@host ...
일반적으로 이것은 문제를 디버깅하는 데 훨씬 도움이 될 것입니다.
답변
tty가 필요했습니다 (기본적으로 백그라운드에서 실행할 수는 없지만 실행하려면 활성 터미널 창이 필요함을 의미합니다). 그래서 나는 /etc/sudoers
(을 수행 하여 편집)에 다음을 추가했습니다 visudo
.
Defaults:basicuser !requiretty
하나의 명령에만 tty가 필요하지는 않지만 https://unix.stackexchange.com/a/80159 는 불가능할 수도 있습니다.
답변
디버깅 정보에 대해 @Alex Hofsteede에게 감사드립니다.
내 문제는 사용자 정의 암호 인 Blowfish 암호를 사용하고 있다는 것입니다.
command-line line 0: Bad SSH2 cipher spec 'blowfish-cbc'.
사용자 지정 암호를 제거하고 작동했습니다.