/ etc / fstab 구성에도 불구하고 부팅시 sshfs가 자동으로 마운트되지 않습니다


24

우분투 (13.04) 워크 스테이션을 설정하면서 원격 파일 시스템을 마운트하려고합니다 (ssh 이상).

현재 설정

  • 사용자 someuser를 만들어 퓨즈 그룹에 추가했습니다.

  • fstab 항목은 다음과 같습니다.

    sshfs#someuser@remote.com:/remote_dir  /media/remote_dir/   fuse    auto,_netdev,port=22,user,allow_other,noatime,follow_symlinks,IdentityFile=/home/someuser/.ssh/id_rsa,reconnect     0       0
    

내 이해에서 :

  • auto : 부트시 원격 fs를 ​​마운트하도록 명시 적으로 요청합니다
  • _netdev : 마운트를 시도하기 전에 인터페이스가 작동하기를 기다립니다.
  • user : 사용자가이 특정 원격 위치를 마운트하도록 요청할 수 있습니다 (루트 사용자의 관점에서는 부팅시 자동 마운트하지 않음)
  • allow_other : 퓨즈 그룹?의 모든 사용자가 마운트 된 fs에 액세스 할 수 있도록합니다.
  • IdentityFile : 원격 시스템 의 /home/someuser/.ssh/authorized_key 에 추가 된 공개 키와 쌍을 이루는 개인 키를 가리 킵니다 .
  • reconnect : 확실하지 않습니다 ... 연결이 끊어지면 다시 연결을 시도합니까?

문제

  • 부팅 할 때 someuser로 로그인 하여 터미널을 시작하고 / media / remote_dir 이 비어 있습니다.

  • 그러나 동일한 사용자 (또는 루트)에서 다음을 입력하여 마운트 할 수 있습니다.

    mount sshfs#someuser@remote.com:/remote_dir
    

    파일 브라우저 에서 remote_dir 을 클릭하면 자동으로 마운트됩니다 .

무엇을 놓칠 수 있는지에 대한 단서가 있습니까?


이것을 알아 낸 적이 있습니까? 우분투 14.04 64 비트 컴퓨터에서 동일한 문제가 발생합니다.
glibdud

이 질문의 인기를 보면서 답변 수와 비교하여 fstab 접근법을 포기했습니다. 나는 총알을 물고 큰 그림 문제를 해결하는 Automount 사용법을 배우기로 결정했습니다. 내 경험으로는 "올바른 선택"이었습니다. 자동 마운트에 대한 좋은 소개는 우분투 위키 에서 찾을 수 있습니다 .
Ad N

답변:


18

Oneiric (자동 마운트가 제대로 작동하는)에서 Precise로 업그레이드 한 후에도 똑같은 문제가 발생했습니다.

나를 위해 문제를 해결 한 것은 delay_connect 옵션 을 추가하는 것이 었습니다 . 또한 Oneiric 시대부터 이미 "workaround = rename"옵션을 사용했습니다. 오늘날에도 여전히 필요한지 확실하지 않지만 최소한 아프지 않은 것 같습니다.

내 전체 / etc / fstab 줄은 다음과 같습니다.

sshfs#user@host:/remote/dir /local/dir fuse delay_connect,idmap=user,uid=1000,gid=1000,umask=0,allow_other,_netdev,workaround=rename 0 0

분명히 사용자 / 그룹 ID를 자신의 환경에 맞게 조정해야합니다.


1
해결 방법 = 이전에 작동하지 않은 곳의 이름을 바꾸지 않고 나를 위해 일했습니다. 그래서 내 유일한 변경 사항은 delay_connect 옵션을 추가하는 것이 었습니다. 감사합니다. 왜 _netdev로 충분하지 않은지 궁금합니다.
Nicolas

1
그것은 나에게도 완벽하게 작동합니다. @Nicolas, _netdev문제는 Tony의 답변에 설명되어 있다고 생각합니다 . 네트워크가 작동 중이지만 여전히 호스트를 확인할 수 없습니다. 분명히 IP 주소를 사용하면 문제가 해결되지만 누가 fstab에서 IP 주소를 원합니까?
Auspex

그것이 가치있는 것을 위해, 어떻게 든 이것을 원자에 붙여 넣을 때, 그것은 그것을 깨뜨리는 보이지 않는 캐릭터를 선택했습니다. 나는 그것들을 제거해야만했다
Jonathan

4
정상적으로 마운트되지만 다음과 같이 나타납니다. ls / backup : 입력 / 출력 오류
Jonathan

'delay_connect, workaround = rename'을 추가하면 아치 리눅스에서 나에게 도움이되었습니다. 감사!
aSystemOverload

1

또한 이전의 모든 의견을 보완하기 위해

  1. 루트가 아닌 사용자가 allow_other마운트 옵션 을 지정할 수 있도록하십시오/etc/fuse.conf

  2. 호스트의 서명이 ~/.ssh/known_hosts파일에 추가되도록 root 동안 각 sshfs 마운트를 수동으로 한 번 이상 사용해야 합니다.

    sshfs [user]@[host]:[remote_path] [local_path] -o allow_other,IdentityFile=[path_to_id_rsa]
    

allow_other 마운트 옵션은 Linux 커널에서 해결되지 않은 보안 버그 를 노출합니다 . default_permissions 마운트 옵션을 allow_other와 함께 사용하지 않으면 파일 시스템이 디렉토리 항목에 대해 수행 한 첫 번째 권한 검사 결과가 후속 액세스에 재사용됩니다. 액세스 권한이있는 항목의 inode가 커널 캐시에 존재하는 한, 권한이 변경된 이후에도 다른 사용자가 후속 액세스를 수행 한 경우에도 마찬가지입니다.
Monica Cellio를위한 MountainX

0

같은 문제가 있었는데, 당신이 noauto가 되려면 auto가 필요하다고 생각합니다. 부팅시 마운트해서는 안되며, eth가 작동하면 마운트해야합니다.


6
"네트워크 준비가 완료된 경우에만 마운트"에 이미 요청한 것으로 생각 _netdev하고 변경하면 noauto부팅시 마운트 할 수 없게됩니다 ( 마운트 명령을 사용할 때만 명시 적으로 )
Ad N

0

신뢰할 수있는 DNS 서버에서 마운트하고 /etc/fstab원격 SFTP 서버의 호스트 이름이이 DNS 서버에서 제공되는 경우 호스트 이름을 아직 확인할 수 없으므로 확실히 연결할 수 없습니다. 마운트를 시도하는 동안 DNS 서버가 실행 중이거나 원격 서버의 IP 주소를 얻는 다른 방법을 찾아야합니다.

이 경우 다음 솔루션 중 하나를 선택할 수 있습니다.

  • delay_connect부팅 순서를 계속하고 부팅 순서가 DNS 서버를 시작한 후에 연결되도록 옵션을 추가하십시오 .
  • /etc/hosts적절한 SF 주소로 원격 SFTP 서버의 호스트 이름을 로컬 파일에 추가하십시오 .
  • fstab호스트 이름 대신 원격 SFTP 서버의 IP 주소를 사용하십시오 .

delay_connect옵션 을 확장 할 수 있습니까 ? 어디에 추가 했습니까? 질문에 대한 추가 정보를 포함하도록 질문을 편집하십시오.
AJefferiss

fstab 옵션 목록에 추가하십시오. sshfs # user @ host : / remote / mnt / local fuse delay_connect, uid = 1000, gid = 100, umask = 0, allow_other 0 0
Tony
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.