Gắn thư mục từ xa bằng SSH


69

Làm thế nào để gắn một thư mục từ xa bằng cách sử dụng SSHđể có sẵn giống như nếu nó là một thư mục cục bộ?

Câu trả lời:


78

Đầu tiên cài đặt mô-đun:

sudo apt-get install sshfs

Tải nó vào kernel:

sudo modprobe fuse

Cài đặt quyền (phiên bản Ubuntu <16.04):

sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount

Bây giờ chúng ta sẽ tạo một thư mục để gắn thư mục từ xa vào.

Tôi đã chọn để tạo nó trong thư mục nhà của tôi và gọi nó remoteDir.

mkdir ~/remoteDir

Bây giờ tôi chạy lệnh để gắn kết nó (gắn kết tại nhà):

sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir

Bây giờ nó nên được gắn kết:

cd ~/remoteDir
ls -l

Tôi hơi bối rối ... trong sshfslệnh, tôi nghĩ rằng thư mục cục bộ mountpoint được đặt tên remoteDirvà khi tôi ở trên sshver, có một thư mục /home/maythuxServ/Mountedkhông được gắn cục bộ và tôi không thể biết, hoặc quan tâm, liệu nó được gắn ở nơi khác?
Volker Siegel

3
Tôi bỏ qua một số bước dưới 14.04 khi tôi sử dụng các hướng dẫn sau đây: help.ubuntu.com/community/SSHFS
Hemm

4
Không cần nhóm cầu chì (Ubuntu 16.04, tháng 11 năm 2017): stackoverflow.com/questions/35635631/ubfox-15-10-no-fuse-group
Matt Kleinsmith

2
Vào ngày 18.04, tôi đã bỏ qua toàn bộ khối 2 - thiết lập quyền và nó hoạt động tốt.
lạc quan

3
Một nửa câu trả lời này không hoạt động hoặc đã lỗi thời. Hãy xem xét cập nhật.
Luís de Sousa

18

Định cấu hình xác thực dựa trên khóa ssh

Tạo cặp khóa trên máy chủ lưu trữ cục bộ.

$ ssh-keygen -t rsa

Chấp nhận tất cả các loại đường với phím enter.

Sao chép khóa công khai vào máy chủ từ xa:

$ ssh-copy-id -i .ssh/id_rsa.pub user@host

Cài đặt sshfs

$ sudo apt install sshfs

Gắn thư mục từ xa

$ sshfs user@host:/remote_directory /local_directory

Đừng cố thêm fs từ xa vào / etc / fstab

Hoặc không thử gắn kết cổ phiếu qua /etc/rc.local.

Trong cả hai trường hợp, nó sẽ không hoạt động vì mạng không khả dụng khi init đọc / etc / fstab.

Cài đặt AutoFS

$ sudo apt install autofs

Chỉnh sửa /etc/auto.master

Nhận xét các dòng sau

#+/etc/auto.master.d
#+/etc/auto.master

Thêm một dòng mới

/- /etc/auto.sshfs --timeout=30

Lưu và thoát

Chỉnh sửa /etc/auto.sshfs

Thêm một dòng mới

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

Tên người dùng từ xa là bắt buộc.

Lưu và thoát

Bắt đầu tự động trong chế độ gỡ lỗi

$ sudo service autofs stop
$ sudo automount -vf

Quan sát nhật ký của máy chủ ssh từ xa

$ ssh user@remote_server
$ sudo tailf /var/log/secure

Kiểm tra nội dung của thư mục địa phương

Bạn sẽ thấy nội dung của thư mục từ xa

Bắt đầu tự động ở chế độ bình thường

Dừng AutoFS chạy trong chế độ gỡ lỗi với CTRL-C.

Bắt đầu AutoFS ở chế độ bình thường

$ sudo service autofs start

Thưởng thức

(Đã thử nghiệm trên Ubuntu 14.04)


5

Dựa trên các thử nghiệm của tôi, rõ ràng việc tạo nhóm cầu chì và thêm người dùng của bạn vào đó là không bắt buộc để gắn hệ thống tệp ssh.

Để tóm tắt, đây là các bước được sao chép từ trang này:

  1. Tải về sshfs

$ sudo apt-get install sshfs

2. Tạo điểm gắn kết cục bộ

$ mkdir /home/johndoe/sshfs-path/

3.Mount thư mục từ xa /remote/pathđể/home/johndoe/sshfs-path/

$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/

  1. Và cuối cùng, để ...

$ fusermount -u /home/johndoe/sshfs-path/


3

Cài đặt sshfs

sudo apt-get install sshfs

Thêm vào fstab:

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.