다음 명령을 사용하여 ssh ubuntu 디렉토리를 내 우분투 PC에 마운트합니다.
sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
내 질문은, 항상 수동으로 명령을 입력하지 않고 드라이브를 마운트해야 할 때 두 번 클릭 하여이 스크립트를 실행할 수있는 바탕 화면 에서이 스크립트를 만들 수 있습니까?
답변
.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 를 확인하십시오 . 북마크 된 파일 시스템이 존재할 때마다 북마크를 자동 마운트하는 기능이 있습니다. 그것을 확인하고 싶을 수도 있습니다.
sudo apt-get install gigolo # or use the install link above
를 실행하십시오 gigolo
. 환경 설정에는 자동 시작과 트레이 아이콘을 활성화하는 옵션이 있습니다. 둘 다 확인하십시오. 그런 다음 북마크를 추가하십시오.
스크린 샷은 다음과 같습니다.
쉘 웨이
다른 해결책은 crontab에 다음 줄을 넣는 것입니다 ( /etc/crontab
sudo 권한으로 편집 ).
@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
그러나 명령이 실행될 때 Ubuntu의 비밀번호 관리자가 없으므로 비밀번호가없는 개인 / 공개 키 쌍을 사용하여 해당 ssh 서버로 인증해야합니다 (또는 유사한 인증 방법). 재부팅 할 때마다 마운트됩니다.
또 다른 해결책은 사용자를 편집하는 것입니다 /etc/fstab
(Ubuntu-Version에서 해당 옵션을 제공하는 경우).
답변
이 포럼 스레드 는 자동 마운트 SSHFS를 작성하는 방법을 보여줍니다.
답변
쉘 스크립트에 간단히 입력하면 데스크탑에서 런처를 작성할 수 있습니다.
예를 들면 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에서이 하나를 심볼릭 링크를 만들 수 있습니다.
답변
한 걸음 더 나아가서 autofs 가 마운트를 처리하도록 할 수도 있습니다. autofs는 SSH 공개 키 인증에서 특히 잘 작동하지 않기 때문에 ( 슈퍼 유저에 대해 암호가없는 키 페어 를 작성 하지 않는 한 ) 사용자의 SSH 키, ssh-agent 및 키 체인을 사용할 수있는 도구가 있습니다.
답변
폴더를 똑같은 방식으로 마운트합니다 .sh
. 명령을 포함 하는 파일을 가리키는 사용자 지정 실행기를 만들었습니다 . 파일에 실행 권한이 있는지 확인하고 계속 진행하십시오.
런처를 클릭하면됩니다.
답변
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