fstab을 사용하는 sshfs : 피어에 의한 연결 재설정


10

SSHFS를 통해 랩톱 (Ubuntu 13.04)이 내 PC (Lubuntu 13.04) 하드 드라이브에 액세스하도록 허용하려고합니다. RSA 키를 사용하여 연결하고 있습니다.

터미널에 이것을 입력하면 완벽하게 작동합니다.

sshfs my-PC:/a_folder /media/a_folder

그러나 랩톱을 부팅 할 때 자동으로 마운트되기를 원합니다. 그래서 퓨즈 그룹에 나 자신을 추가했습니다.

sudo adduser mynickname fuse

그리고 fstab 파일에 다음 줄을 추가했습니다.

sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse defaults,idmap=user,_netdev 0 0

랩톱을 부팅하면 장치 목록에 a_folder가 나타나지만 마운트되지는 않습니다. 노틸러스를 통해 액세스하려고하면 다음 오류가 표시됩니다.

mount: only root can mount sshfs#mynickname@my-PC:/a_folder on /media/a_folder

시도하면 같은 오류가 발생합니다

mount /media/a_folder

터미널에서.

내가 시도하면

sudo mount /media/a_folder

나는 얻다

read: Connection reset by peer

fstab 항목에서 "allow_other"를 옵션으로 추가하려고 시도하고 /etc/fuse.conf에서 관련 줄의 주석을 해제했지만 아무 것도 변경하지 않았습니다.

"mynickname"사용자는 / media / a_folder 폴더의 소유자이며 rwx 권한이 있습니다.

인터넷에서 비슷한 문제를 가진 사람들에 대한 많은 스레드를 보았지만 지금까지 아무것도 작동하지 않았습니다. 보통 사람들은 할 수 없습니다

sshfs my-PC:/a_folder /media/a_folder

오류가 발생하지 않지만 랩톱에서 제대로 작동합니다.

모든 통찰력과 팁은 크게 감사하겠습니다! 감사.

편집 : 나는이 문제를 얼마 전에 해결했지만이 게시물을 업데이트하는 것을 잊었습니다. 그래서 여기 내 fstab에있는 것이 있습니다 :

sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse noauto,_netdev,idmap=user,user,default_permissions 0 0

내가 기억하면 추가 할 핵심 옵션은 default_permissions였습니다. my-PC의 / a_folder /에 속한 그룹에 mynickname을 추가해야했습니다.

fstab  sshfs 

답변:


8

당신이 겪고있는 문제는 일반 사용자가 신원 파일에 대한 올바른 설정을 가지고 있지만 루트 사용자는 어떤 ssh 키를 사용할지 모릅니다.

fstab에 연결하려고 시도 할 때 사용할 아이디 파일 / ssh 키를 알려 주면이 문제를 해결할 수 있습니다.

sshfs#user@host:/mnt/whatever/ /mnt/whatever/        fuse    user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/USER/.ssh/KEYFILE,idmap=user,allow_other  0   2

답변 주셔서 감사합니다. 이미 IdentityFile 옵션을 사용해 보았지만 uid 및 gid 옵션을 지정하지 않았으므로 시도하겠습니다!

기술적으로, sudoFUSE 마운트에 대해 모든 것이 올바르게 설정되어 있으면 사용할 필요가 없습니다 . 또한 uid / gid 설정은 시스템의 파일에 대한 권한이있는 사용자에게만 영향을줍니다.
earthmeLon

그래서 방금 uid, gid, IdentityFile, allow_other, 모든 옵션을 동시에 사용해 보았지만 불행히도 여전히 작동하지 않습니다. 여전히 같은 오류입니다.

어떻게 작성했는지 샘플을 게시 하시겠습니까? 공개 키가 아닌 개인 키를 가리켜 야합니다 .
earthmeLon

1
따라서 두 방법 모두 작동하지 않았습니다. 여전히 같은 오류입니다. 구성 파일의 경우 올바른 호스트를 지정하여 시도했습니다 : user, hostname (IP와 이름을 모두 시도했습니다), identityfile. 그러나 그것은 잘 작동하지 않았습니다. 그래서 이제는 시작 응용 프로그램에 sshfs my-PC : / a_folder / media / a_folder 명령을 추가했습니다. fstab을 사용하는 것만 큼 깨끗하지는 않지만 지금은 잘 작동합니다. 당신의 도움과 제안에 감사드립니다! 다른 것을 생각하면 자유롭게 공유하십시오. 감사합니다.

4

실제 디버그 출력을 얻으려면 마운트에 옵션 sshfs_debugdebug옵션을 모두 추가해야합니다 .

sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse defaults,idmap=user,_netdev,debug,sshfs_debug 0 0

이를 통해 많은 디버그 정보를 얻을 수 있습니다.

$ sudo mount -a
SSHFS version 2.5
FUSE library version: 2.9.2
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
executing <ssh> <-x> <-a> <-oClearAllForwardings=yes> <-2> <user@box> <-s> <sftp>
user@box's password: 
Server version: 3
Extension: posix-rename@openssh.com <1>
Extension: statvfs@openssh.com <2>
Extension: fstatvfs@openssh.com <2>
Extension: hardlink@openssh.com <1>
Extension: fsync@openssh.com <1>
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.22
flags=0x0000f7fb
max_readahead=0x00020000
remote_uid = 1001
   INIT: 7.19
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 2771
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 47, pid: 3371

필자의 경우 내 컴퓨터가에만 나열되어 .ssh/config있으므로 루트로 해결할 수 없다는 것을 알았 습니다.

그리고 BTW, 당신은 uid와 gid를 설정해야합니다 idmap=user.이 경우 근본 인 현재 사용자에게만 작동하는 것 같습니다.


3

ssh의 호스트 키가 변경 될 때도이 문제가 발생할 수 있습니다.

ssh를 통해 서버에 연결하십시오 (예 :) ssh username@hostIP. 다음과 같은 오류가 나타나는 경우 :

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!    @
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

오류 메시지의 지시 사항에 따라 이전 키를 삭제하고 ssh를 통해 다시 연결하십시오. 오류가 더 이상 나타나지 않으면 sshfs 연결이 작동해야합니다.


"ssh를 통해 서버에 연결을 시도"이 작업을 수행해야합니다 루트로 당신이 루트 디렉토리 (자동 마운트 때 발생하는 것입니다) 설치하는 경우. 사용자 known_hosts파일은 루트 known_hosts파일 과 다를 수 있습니다 .
Shelvacu

0

전체 공개 : 구식 괴짜이지만 리눅스 / 오픈 소스 세계에 새로운 브랜드

우선, 아직 RSA 키에 대해 충분히 정통하지 않았기 때문에 여전히 비밀번호 인증을 사용하고 있습니다. 그래도 목록의 최상위에 가까워지고 있습니다.

관련 설정 정보 : Ubuntu 서버 10.04 LTS가 설치된 VMWare Fusion이 설치된 MacBook Pro 사용. 거의 모든 서버 상호 작용을 위해 Mac의 터미널 및 SSH에 의존

Drupal 설치를 시작한 후 이전 스냅 샷으로 롤백했고 방금 이전에 방금 사용한 명령을 실행할 수 없었습니다. sshfs -o idmap=user -o allow_other user@mac.home:/Users/<username>/Documents ~/mountpoint

문제는 키가 동기화되지 않았다는 것입니다. 실제로 호스트와 서버 모두 에서이 작업을 수행 해야하는지 모르겠지만 먼저 known_hosts 파일을 백업 한 다음 known_hosts 파일을 편집하여 항목을 제거하여 각 로컬 키를 모두 지 웠습니다. .
Mac에서이 파일은 다음 위치에 있습니다. /Users/<username>/.ssh/known_hosts
Ubuntu에서이 파일은 다음 위치에 있습니다./home/<username>/.ssh/known_hosts

요약하면 Ubuntu 서버를 시작한 후 Mac 터미널에서 모두 수행했습니다.

cp /Users/<username>/.ssh/known_hosts /Users/<username>/.ssh/known_hosts.old
nano  /Users/<username>/.ssh/known_hosts
  # remove extra entries, save file
ssh <username>@ubuntu_server
cp /home/<username>/.ssh/known_hosts, /home/<username>/.ssh/known_hosts.old
nano /home/<username>/.ssh/known_hosts
  # remove extra entries, save file

각 시스템에 처음으로 SSH를 연결하면 SSH에 RSA 키를 추가하고 그 이후의 모든 작업을 허용하라는 메시지가 표시됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.