예상 사용 시: SSHFS 전송 끝점이 연결되지 않음

예상 사용 시: SSHFS 전송 끝점이 연결되지 않음

Bash에서 SSHFS 연결 스크립트를 실행하면 모든 것이 잘 작동합니다.

그러나 유틸리티를 사용하여 동일한 스크립트를 실행하면 expect폴더 설치 위치에 액세스하려고 할 때 다음 오류가 발생합니다.

Transport endpoint is not connected

이것은 내 예상 스크립트입니다.

#!/usr/bin/expect -f
spawn standard_sshfs_connection_string_or_script
expect "password: "
send "my_password\r"

묻다:어떤 아이디어가 있나요?

노트:

  1. 나는 처음으로 다음과 같이 전화했습니다.fusermount -u mount_location
  2. 새 프로세스를 생성하는 데 문제가 있습니까 spawn? sshfs 프로세스가 조기에 종료될 수 있습니까? (sshfs 프로세스가 계속 열려 있는지 확인하는 방법이 있습니까?)

답변1

sshfs출력이 캡처되었는지 확실하지 않습니다 expect. 이것이 귀하의 문제일 수 있습니다. 스크립트가 비밀번호를 보내지 않고 종료되어 귀하가 설명하는 문제가 발생합니다.

또 다른 가능한 시나리오는 sshfs출력이 실제로 귀하에게 전송되고 있는데 user@domain password:기대치가 마음에 들지 않을 수도 있다는 것입니다.

그러나 이것은 실제로 문제를 해결하는 좋은 방법이 아닙니다. 귀하의 비밀번호는 이 스크립트에서 일반 텍스트로 표시됩니다!

공개 키 인증 사용을 고려해 보셨나요? 보세요이 자식 예제어떻게 작동하는지 모르는 경우.

답변2

아직 시도하지는 않았지만 send명령 뒤에 다음 줄을 추가해야 할 수도 있습니다.

expect "$ "

프로그램이 완전히 종료될 때까지 기다리십시오.

또 다른 아이디어: 종료/닫기를 예상할 때 모든 하위 프로세스도 종료될 수 있습니까?

관련 정보