sshfs를 사용하여 자동 마운트하는 방법?


14

다음 명령을 사용하여 ssh ubuntu 디렉토리를 내 우분투 PC에 마운트합니다.

sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

내 질문은, 항상 수동으로 명령을 입력하지 않고 드라이브를 마운트해야 할 때 두 번 클릭 하여이 스크립트를 실행할 수있는 바탕 화면 에서이 스크립트를 만들 수 있습니까?

답변:


15

.desktop-file을 여기 에 끌어다 놓아 실행기를 작성하고 실행기 표시 줄에 추가 할 수 있습니다 .

    #!/usr/bin/env xdg-open

    [Desktop Entry]
    Version=1.0
    Type=Application
    Terminal=false
    Icon[en_US]=nautilus
    Name[en_US]=Connect to xy
    Exec=shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
    #OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be)
    #Exec=nautilus sftp://user@192.xx.xx.xx.xx/dir/dir
    Comment[en_US]=Connect to xy via ssh
    Name=Connect to xy
    Comment=Connect to xy via ssh
    Icon=nautilus

제안-훨씬 적은 작업 :

더 적은 작업 (= autoconnect)과 그래픽 사용자 인터페이스를 원한다면 Gigolo 를 확인하십시오 gigolo 설치. 북마크 된 파일 시스템이 존재할 때마다 북마크를 자동 마운트하는 기능이 있습니다. 그것을 확인하고 싶을 수도 있습니다.

sudo apt-get install gigolo   # or use the install link above

를 실행하십시오 gigolo. 환경 설정에는 자동 시작과 트레이 아이콘을 활성화하는 옵션이 있습니다. 둘 다 확인하십시오. 그런 다음 북마크를 추가하십시오.

스크린 샷은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

쉘 웨이

다른 해결책은 crontab에 다음 줄을 넣는 것입니다 ( /etc/crontabsudo 권한으로 편집 ).

@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

그러나 명령이 실행될 때 Ubuntu의 비밀번호 관리자가 없으므로 비밀번호가없는 개인 / 공개 키 쌍을 사용하여 해당 ssh 서버로 인증해야합니다 (또는 유사한 인증 방법). 재부팅 할 때마다 마운트됩니다.

또 다른 해결책은 사용자를 편집하는 것입니다 /etc/fstab(Ubuntu-Version에서 해당 옵션을 제공하는 경우).


1
지골로를 사용할 수 없습니다. Coz 홈 폴더 내에서 특정 마운트 지점을 사용하고 싶습니다. 첫 번째 해결책이 좋아 보입니다. 그러나 파일 이름은 명확하지 않습니다. 당신은 ".desktop-file"을 주셨습니다. 파일 이름 또는 확장자가되어야합니다. 파일 명명에 대한 더 많은 예를 들어주세요. 시도해 볼 수 있습니다.
BlueBird

확장입니다. 우분투의 모든 발사기는 ".desktop"으로 끝납니다. 빈 파일을 만듭니다. 위에 게시 한 텍스트를 복사하십시오. "Name ="뒤에있는 텍스트를 원하는대로 바꾸고 "Exec ="뒤에있는 텍스트에서 실제 경로를 대체하십시오. 그런 다음 "connect.desktop"또는 "mountxy.desktop"(예 :)으로 저장하십시오. 파일을 저장 한 후 파일을 실행기 패널 또는 원하는 위치로 끌어서 놓으십시오.
혼동

큰!! 효과가있었습니다.
BlueBird

8
세상에 ... 최악의 프로그램 이름.
Lekensteyn

더 이상 자동 시작에 gigolo를 추가 할 수있는 옵션이 없기 때문에 직접해야합니다. 명령을 실행 gnome-session-properties하고 추가 하십시오 /usr/bin/gigolo. 마운트 지점을 선택할 수는 없지만 홈 디렉토리에 대한 심볼릭 링크를 만들 수 있습니다 (로 ln -s). 파일 관리자에서 폴더를 마우스 오른쪽 버튼으로 클릭하고을 선택하여 원래 마운트 지점을 찾을 수 있습니다 Open in Local Terminal.
Seppo Enarvi

4

이 포럼 스레드 는 자동 마운트 SSHFS를 작성하는 방법을 보여줍니다.


스레드는 상당히 오래되었으며 이제 네트워크 종속 마운트를 추가하기 위해 사용할 수 x-systemd있으며 _netdev옵션을 사용할 수 있습니다.
Turgon

3

쉘 스크립트에 간단히 입력하면 데스크탑에서 런처를 작성할 수 있습니다.

예를 들면 mountssh.sh다음과 같습니다.

#!/bin/bash
shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx

확인한 chmod +x mountssh.sh다음 클릭하면 실행됩니다.

또는 데스크탑을 마우스 오른쪽 버튼으로 클릭하고 URL 매개 변수를 사용하여 실행기를 작성하여 gvfs를 통해 마운트 할 수 있습니다 ssh://user@192.xx.xx.xx.xx/dir/dir. 기본적으로에 마운트됩니다 ~/.gvfs/.... 당신이와 스틱을 원하는 경우에 /home/username/mount/xxx, 당신은 GVFS에서이 하나를 심볼릭 링크를 만들 수 있습니다.


데스크탑에 "mount-192.168.1.5.sh"파일을 생성했습니다. 두 번 클릭하면 gedit로 열립니다.
BlueBird

어디서나 실행 가능한 권한으로이 sh 파일을 작성하고 데스크탑에서이 .sh 파일을 가리키는 실행기를 작성해야합니다.
Iradrian

2

한 걸음 더 나아가서 autofs 가 마운트를 처리하도록 할 수도 있습니다. autofs는 SSH 공개 키 인증에서 특히 잘 작동하지 않기 때문에 ( 슈퍼 유저에 대해 암호가없는 키 페어작성 하지 않는 한 ) 사용자의 SSH 키, ssh-agent 및 키 체인을 사용할 수있는 도구가 있습니다.

  • autosshfs : 사용자의 SSH 구성을 사용하는 사용자 당 SSHFS 자동 마운트
  • afuse : FUSE로 구현 된 자동 마운터

0

폴더를 똑같은 방식으로 마운트합니다 .sh. 명령을 포함 하는 파일을 가리키는 사용자 지정 실행기를 만들었습니다 . 파일에 실행 권한이 있는지 확인하고 계속 진행하십시오.

런처를 클릭하면됩니다.

여기에 이미지 설명을 입력하십시오


0

cron을 사용하여 ssh 디렉토리를 자동으로 마운트하려고 시도했지만 오류가 발생했습니다 Network is unreachable. cron 작업 실행이 ip 연결을 설정하기에 너무 빠르기 때문입니다. sshfs명령 전에 sleep을 삽입 한 후 ssh 디렉토리를 성공적으로 마운트합니다.

sleep 5 && sshfs ......

그래서 나는이 스크립트를 내 요구 사항을 충족시키기 위해 만들었습니다.

#! /bin/sh
while true
do 
    ping -c1 -w1 ssh_server_ip > /dev/null && break
done
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 sshname:/mountpath /localmountpath
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.