Local: Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V: OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V: SSHFS version 2.4
FUSE library version: 2.9.0
fusermount version: 2.9.0
using FUSE kernel interface version 7.18
Remote: Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 ([email protected]) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V: OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
Saya mencoba menyiapkan mount tanpa password dari server jauh menggunakan sshfs dan fuse. Server jarak jauh berjalan pada port non-standar dan saya akan menggunakan pasangan kunci ssh untuk mengotentikasi.
Ketika berhasil, saya akan mengulangi ini untuk tiga server jauh lagi masing-masing dengan kunci yang berbeda jadi saya harus dapat menentukan peta kunci mana yang server jauh.
Saya mendasarkan modifikasi saya pada tutorial ini
- Kunci publik ada di jarak jauh :otorized_keys
- Saya telah menambahkan pengguna lokal saya ke
fuse
grup. - Saya telah mengedit lokal saya
~/.ssh/config
untuk memiliki (per server):
`
Host [server_ip]
Port = [port]
IdentityFile = "~/.ssh/[private_key]"
User = "[user]"
`
Setiap kali saya mencoba me-mount server jarak jauh secara lokal, saya akan dimintai kata sandi pengguna jarak jauh (bukan kata sandi kunci pribadi saya). Pengguna jarak jauh memiliki kata sandi lama yang dibuat secara acak yang saya ingin tidak harus menyimpan atau mengingat dan jadi kunci adalah bagaimana saya ingin melakukan ini.
Saya dapat terhubung melalui ssh (dikombinasikan dengan ~/.ssh/config
file) menggunakan perintah ssh [ip]
jadi saya tahu bahwa file konfigurasi dapat dibaca dengan benar karena saya diminta untuk frasa sandi kunci saya bukan pengguna jarak jauh.
Untuk mencoba menghubungkan ke server jarak jauh, saya harus secara manual menentukan rincian koneksi lengkap dalam perintah: `sshfs [pengguna] @ [ip]: [remote_path] [local_path] -p [port]
Apa yang saya coba sejauh ini:
- ssh-add / path / to / key (penambahan yang berhasil)
- Menentukan
PreferredAuthentication = publickey
dalam ~ / .ssh / config - sshfs -o IdentityFile = / path / ke / pengguna kunci @ ip: / / my / mnt / dir
- sshfs user @ ip: / / my / mnt / dir -o IdentityFile = / path / ke / kunci
- temp ganti nama kunci menjadi default
id_rsa
- sshfs -F ~ / .ssh / config
Apakah ada file konfigurasi lokal atau jarak jauh yang saya tampilkan? Beberapa saklar atau opsi yang perlu saya sertakan dalam panggilan ke sshfs (mencoba -F) untuk memaksanya membaca dan menggunakan konfigurasi ssh saya?
Output dari ssh -v -p [port] [user]@[remote_ip]
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 Mei 2012 debug1: Membaca data konfigurasi /home/[me[/.ssh/config debug1: /home/[me[/.ssh/config baris 2: Menerapkan opsi untuk [remote_ip] debug1: /home/[me[/.ssh/config baris 24: Menerapkan opsi untuk * debug1: Membaca data konfigurasi / etc / ssh / ssh_config debug1: / etc / ssh / ssh_config baris 19: Menerapkan opsi untuk * debug1: Menghubungkan ke [remote_ip] [[remote_ip]] port [port]. debug1: Koneksi berhasil dibuat. debug1: file identitas /home/[me[/.ssh/[private_key] ketik 2 debug1: Memeriksa file daftar hitam /usr/share/ssh/blacklist.DSA-1024 debug1: Memeriksa file daftar hitam /etc/ssh/blacklist.DSA-1024 debug1: file identitas /home/[me[/.ssh/[private_key[-cert type -1 debug1: Remote protokol versi 2.0, versi perangkat lunak jarak jauh OpenSSH_5.9p1 Debian-5ubuntu1.1 debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 * debug1: Mengaktifkan mode kompatibilitas untuk protokol 2.0 debug1: String versi lokal SSH-2.0-OpenSSH_6.1p1 Debian-4 debug1: SSH2_MSG_KEXINIT terkirim debug1: SSH2_MSG_KEXINIT diterima debug1: kex: server-> client aes128-ctr hmac-md5 [email protected] debug1: kex: client-> server aes128-ctr hmac-md5 [email protected] debug1: mengirim SSH2_MSG_KEX_ECDH_INIT debug1: mengharapkan SSH2_MSG_KEX_ECDH_REPLY debug1: Kunci host server: [kunci] debug1: memeriksa tanpa pengenal port debug1: Host '[remote_ip]' dikenal dan cocok dengan kunci host ECDSA. debug1: Menemukan kunci di /home/[me[/.ssh/known_hosts:7 debug1: ditemukan kunci yang cocok dengan port w / out debug1: ssh_ecdsa_verify: signature benar debug1: SSH2_MSG_NEWKEYS terkirim debug1: mengharapkan SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS diterima debug1: Roaming tidak diizinkan oleh server debug1: SSH2_MSG_SERVICE_REQUEST terkirim debug1: SSH2_MSG_SERVICE_ACCEPT diterima debug1: Otentikasi yang dapat dilanjutkan: publickey, kata sandi debug1: Metode otentikasi berikutnya: publickey debug1: Menawarkan kunci publik DSA: /home/[me[/.ssh/[private_key] debug1: Server menerima kunci: pkalg ssh-dss blen 433 debug1: Mengaktifkan kompresi di level 6. debug1: Otentikasi berhasil (publickey). Diotentikasi ke [remote_ip] ([[remote_ip]]: [port]). debug1: saluran 0: baru [sesi klien] debug1: Meminta [email protected] debug1: Memasuki sesi interaktif. debug1: Mengirim lingkungan. debug1: Mengirim env LANG = en_GB.UTF-8 debug1: Mengirim env LC_CTYPE = en_GB.UTF-8 Selamat datang di Ubuntu 12.04.3 LTS (GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_64)
Sunting:
Saya menemukan masalahnya. Saya mencoba me-mount lokasi remote ke / mnt / new_dir menggunakan sudo. Jika saya memasang ke lokasi di dalam rumah lokal saya maka itu berfungsi. sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
.
Saya sekarang telah melakukan sudo chown root:fuse /mnt/new_dir
dan sudo chmod 774 /mnt/new_dir
dan saya percaya bahwa semua berfungsi sebagaimana mestinya.
Apakah ada masalah keamanan dengan pengaturan ini yang perlu saya ketahui? (Pengguna dan root saya sendiri adalah satu-satunya anggota fuse
grup.
sumber
-o ssh_command='ssh -v'
perintah hanya hang dan tidak output apa-apasshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
. Dapatkah saya mengonfigurasi pengguna saya sehingga memiliki izin yang diperlukan untuk melakukan mount ke / mnt sehingga pengguna lain dapat menggunakan sumber daya jarak jauh?Jawaban:
Jika Anda menggunakan
sudo
maka Anda kemungkinan menggunakan kredensial root untuk me-mount, yang saya tidak percaya adalah apa yang Anda inginkan. Saya mungkin tidak akan melakukan apa yang Anda minta, wrt. mount/mnt
sebagai user1 dan acessing sebagai user2. Ini akan menjadi rumit dengan izin grup & pengguna. Jika Anda benar-benar ingin me-mount direktori ke / mnt untuk dibagikan maka Anda benar-benar harus memasangnya melalui level sistem untuk semua yang menggunakanautofs
.Otomatis
Ada 3 metode yang saya ketahui untuk mengount mount seperti ini.
sumber
autofs
karena saya belum bisa membuat koneksi sshfs dibuat sebelumnya sekarang. Apakah Anda menyarankan agar saya menambahkan pasangan kunci lain kelocal:/root/.ssh/key
danremote:/[user]/.ssh/authorized_keys
? Apa yang seharusnyachown
danchmod
untuk apalocal:/mnt/dir
? (Saya ingin perms penuh untuk diri saya sendiri dan hanya baca untuk pengguna lain)