“원격 호스트 연결이 끊어졌습니다”와 함께 sshfs가 실패 함 암호 프롬프트없이 ssh를 통해 로그인 할 수

다음과 같이 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'.
사용자 지정 암호를 제거하고 작동했습니다.


답변