sshfs tidak akan menggunakan ~ / .ssh / config (di Linux Mint 15)

10
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 fusegrup.
  • Saya telah mengedit lokal saya ~/.ssh/configuntuk 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/configfile) 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 = publickeydalam ~ / .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_dirdan sudo chmod 774 /mnt/new_dirdan 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 fusegrup.

tak terpisahkan
sumber
Hai MBS, Anda dapat menjalankan ssh dengan -v untuk menunjukkan kesalahan yang mungkin ada. mungkin ada baiknya melakukan ini untuk melihat apakah ada kesalahan saat membaca file. Selain itu, kunci Anda di server target harus memiliki 600 izin.
Rqomey
Terima kasih atas tanggapan cepatnya. ssh verbose: pastebin.com/Rm5X7y5p (saya akan kembali dengan sshfs verbose dalam min
tidak dapat dibagi
sshfs menggunakan -o ssh_command='ssh -v'perintah hanya hang dan tidak output apa-apa
terpisahkan
Saya pikir saya mungkin telah menemukan masalah (atau setidaknya semakin dekat dengan itu). 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. Dapatkah saya mengonfigurasi pengguna saya sehingga memiliki izin yang diperlukan untuk melakukan mount ke / mnt sehingga pengguna lain dapat menggunakan sumber daya jarak jauh?
tak terpisahkan
1
Saya melihat Anda baru di stackexchange, selamat datang. Tetapi beberapa tips: Saya tahu Anda ingin mencoba dan menganonimkan diri Anda dengan mengaburkan data, tetapi sebenarnya Anda tidak seharusnya melakukannya. Seandainya Anda memberikan sedikit info yang menunjukkan di mana Anda memasang mount di, orang lain mungkin memperhatikan masalahnya. Juga jangan menautkan ke situs eksternal (pastebin) untuk memberikan output, sertakan di sini. Terakhir jika Anda memiliki solusi, berikan itu sebagai jawaban dan terima jawaban itu, jangan masukkan "diselesaikan" dalam subjek.
Patrick

Jawaban:

12

Jika Anda menggunakan sudomaka 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 /mntsebagai 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 menggunakan autofs.

Otomatis

Ada 3 metode yang saya ketahui untuk mengount mount seperti ini.

slm
sumber
Persisnya itulah masalahnya. Saya telah mengedit pertanyaan saya untuk memasukkan langkah-langkah yang telah saya lakukan untuk memodifikasi izin folder yang dimaksud, tetapi sementara itu berfungsi, saya cukup yakin itu bukan solusi terbaik. - Saya belum mencoba menggunakan autofskarena saya belum bisa membuat koneksi sshfs dibuat sebelumnya sekarang. Apakah Anda menyarankan agar saya menambahkan pasangan kunci lain ke local:/root/.ssh/keydan remote:/[user]/.ssh/authorized_keys? Apa yang seharusnya chowndan chmoduntuk apa local:/mnt/dir? (Saya ingin perms penuh untuk diri saya sendiri dan hanya baca untuk pengguna lain)
tidak dapat dibagi
@ MB - lihat pembaruan
slm
1
URL itu untuk autofs, apakah benar? Karena terlihat salah ketika Anda memintanya. Ini menunjukkan olahraga dalam bahasa non-Inggris.
Geoffrey Anderson