sshfs не використовуватиме ~ / .ssh / config (у 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 (kernel@kernel.ovh.net) (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

Я намагаюся налаштувати безпаркове кріплення віддаленого сервера за допомогою sshfs та fuse. Віддалений сервер працює на нестандартному порту, і я використовую пару ключів ssh для автентифікації.

Коли я досягну успіху, я повторюю це для ще трьох віддалених серверів, кожен з яких має різні клавіші, тому мені потрібно мати змогу вказати, які ключові карти віддалений сервер.

Я базував свої зміни на цьому підручнику

  • Відкритий ключ знаходиться у віддаленому режимі: санкціоновані_ ключі
  • Я додав свого локального користувача до fuseгрупи.
  • Я відредагував свій локальний, ~/.ssh/configщоб мати (на сервері):

`

Host [server_ip]
  Port = [port]
  IdentityFile  = "~/.ssh/[private_key]"
  User = "[user]"

`

Кожен раз, коли я намагаюся локально встановити віддалений сервер, мені з’явиться запит на пароль віддаленого користувача (не пароль мого приватного ключа). У віддаленого користувача є довгий випадково генерований пароль, який я хотів би не зберігати чи запам’ятовувати, тому ключі - це я хочу це зробити.

Я можу підключитися через ssh (у поєднанні з ~/.ssh/configфайлом) за допомогою команди, ssh [ip]тому я знаю, що конфігураційний файл можна читати правильно, оскільки мене запитують парольну фразу мого ключа, а не віддаленого користувача.

Щоб навіть спробувати підключитися до віддаленого сервера, я повинен вручну вказати повну інформацію про з'єднання в команді: `sshfs [user] @ [ip]: [remote_path] [local_path] -p [port]

Що я намагався поки що:

  • ssh-add / шлях / до / ключ (успішне додавання)
  • Вказівка PreferredAuthentication = publickeyв ~ / .ssh / config
  • sshfs -o IdentityFile = / шлях / до / ключового користувача @ ip: / / my / mnt / dir
  • sshfs user @ ip: / / my / mnt / dir -o IdentityFile = / шлях / до / ключ
  • тимчасова перейменування ключа за замовчуванням id_rsa
  • sshfs -F ~ / .ssh / config

Чи є у мене віддалений або локальний файл конфігурації, який я переглядаю? Якийсь комутатор або варіант, який мені потрібно включити у виклик до sshfs (спробував -F), щоб змусити його читати та використовувати мою конфігурацію ssh?

Вихід ssh -v -p [port] [user]@[remote_ip]

OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 травня 2012 року
debug1: зчитування даних конфігурації /home/ evidencemeSense/.ssh/config
debug1: /home/ evidencemeSense/.ssh/config рядок 2: Застосування параметрів для [remote_ip]
debug1: /home/ evidencemeSense/.ssh/config рядок 24: Застосування параметрів для *
debug1: зчитування даних конфігурації / etc / ssh / ssh_config
debug1: / etc / ssh / ssh_config рядок 19: Застосування параметрів для *
debug1: підключення до [remote_ip] [[remote_ip]] port [port].
debug1: з'єднання встановлено.
debug1: файл посвідчення /home/ evidencemeSense/.ssh/ evidenceprivate_key] тип 2
debug1: Перевірка файлу чорного списку /usr/share/ssh/blacklist.DSA-1024
debug1: Перевірка файлу чорного списку /etc/ssh/blacklist.DSA-1024
debug1: ідентифікаційний файл /home/ evidencemeSense/.ssh/ evidenceprivate_keySense-cert type -1
debug1: Віддалений протокол версії 2.0, віддалена версія програмного забезпечення OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 *
debug1: Увімкнення режиму сумісності для протоколу 2.0
debug1: рядок локальної версії SSH-2.0-OpenSSH_6.1p1 Debian-4
debug1: SSH2_MSG_KEXINIT надіслано
debug1: отримано SSH2_MSG_KEXINIT
debug1: kex: server-> client aes128-ctr hmac-md5 zlib@openssh.com
debug1: kex: client-> сервер aes128-ctr hmac-md5 zlib@openssh.com
debug1: відправка SSH2_MSG_KEX_ECDH_INIT
debug1: очікує SSH2_MSG_KEX_ECDH_REPLY
debug1: ключ хоста сервера: [клавіша]
debug1: перевірка без ідентифікатора порту
debug1: Хост "[remote_ip]" відомий і відповідає ключовому ключу ECDSA.
debug1: знайдено ключ у /home/ evidencemeškar/.ssh/known_hosts:7
debug1: знайдено відповідний ключ без портів
debug1: ssh_ecdsa_verify: підпис правильний
debug1: SSH2_MSG_NEWKEYS надіслано
debug1: очікує SSH2_MSG_NEWKEYS
debug1: отримано SSH2_MSG_NEWKEYS
debug1: Роумінг заборонено сервером
debug1: SSH2_MSG_SERVICE_REQUEST надіслано
debug1: отримано SSH2_MSG_SERVICE_ACCEPT
debug1: Автентифікації, які можна продовжувати: publickey, пароль
debug1: Наступний метод аутентифікації: publickey
debug1: Пропонування відкритого ключа DSA: /home/ evidencemeškar/.ssh/ evidenceprivate_key]
debug1: Сервер приймає ключ: pkalg ssh-dss blen 433
debug1: Увімкнення стиснення на рівні 6.
debug1: Аутентифікацію вдалося (publickey).
Аутентифіковано на [remote_ip] ([[remote_ip]]: [порт]).
debug1: канал 0: новий [клієнт-сесія]
debug1: Запит no-more-sesions@openssh.com
debug1: введення інтерактивного сеансу.
debug1: середовище надсилання.
debug1: Відправлення env LANG = en_GB.UTF-8
debug1: Відправлення env LC_CTYPE = en_GB.UTF-8
Ласкаво просимо до Ubuntu 12.04.3 LTS (GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_64)

Редагувати:
я знайшов проблему. Я намагався встановити віддалене місце до / mnt / new_dir за допомогою sudo. Якщо я монтуюсь до місця в межах свого місцевого будинку, це працює. sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount.

Зараз я зробив sudo chown root:fuse /mnt/new_dirі, sudo chmod 774 /mnt/new_dirі я вважаю, що все працює за призначенням.

Чи є якісь проблеми із безпекою із цим налаштуванням, про які мені потрібно знати? (Мій власний користувач та root - єдині члени fuseгрупи.


Привіт MBS, ви можете запустити ssh за допомогою перемикача -v, щоб показати будь-які помилки, які можуть бути присутніми. можливо, варто це зробити, щоб побачити, чи є помилка під час читання файлу. Також ваші ключі на цільовому сервері повинні мати 600 дозволів.
Rqomey

Дякуємо за швидку відповідь. ssh verbose: pastebin.com/Rm5X7y5p (я повернусь з багатослівним sshfs через хв.
нероздільний

sshfs за допомогою -o ssh_command='ssh -v'команди просто зависає і нічого не видає
нероздільний

Я думаю, що я, можливо, знайшов проблему (або принаймні наблизився до неї). Я намагався встановити віддалене місце до / mnt / new_dir за допомогою sudo. Якщо я монтуюсь до місця в межах свого місцевого будинку, це працює. sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount. Чи можу я налаштувати свого користувача так, щоб він мав необхідні дозволи для монтажу в / mnt, щоб інші користувачі могли використовувати віддалені ресурси?
неподільний

1
Я бачу, ви новачок в обміні ставок, тому ласкаво просимо. Але кілька порад: я знаю, що ви хочете спробувати анонімізувати себе, затушовуючи дані, але ви насправді не повинні. Якби ви надали той біт інформації, який вказує, куди ви монтуєте кріплення, інші, можливо, помітили б проблему. Також не посилайтеся на зовнішні сайти (пастбін), щоб забезпечити вихід, включіть його сюди. Нарешті, якщо у вас є рішення, надайте його як відповідь і прийміть цю відповідь, не ставте "вирішеним" у темі.
Патрік

Відповіді:


13

Якщо ви користуєтеся sudoцим, ви, швидше за все, використовуєте облікові дані root для монтажу, що я не вірю - це те, що ви хочете. Я б, мабуть, не робив те, що ви просите, wrt. встановлення на /mntяк user1 та доступ до user2. З групою та дозволами користувачів це ускладнюватиметься. Якщо ви дійсно хочете встановити каталог до / mnt для спільного доступу, то вам дійсно слід монтувати його на системному рівні для всіх користувачів autofs.

Автоматизація

Мені відомі 3 способи автоматичного встановлення таких елементів кріплення.


Саме це було питання. Я відредагував своє запитання, щоб включити кроки, які я вжив для зміни дозволів відповідної папки, але, хоча вона працює, я впевнений, що це не найкраще рішення. - Я ще не намагався використовувати, autofsоскільки не зміг встановити з'єднання sshfs раніше. Ви пропонуєте мені додати ще і пару ключів до local:/root/.ssh/keyта remote:/[user]/.ssh/authorized_keys? Яким має бути chownі chmodбути таким local:/mnt/dirбути? (Я хочу повних perms для себе та читати тільки для інших користувачів)
неподільний

@mbs - див. оновлення
slm

1
Ця URL-адреса для автофільмів, це правильно? Тому що це виглядає неправильно, коли ви його запитуєте. Він показує заняття спортом у нестандартному приміщенні.
Джеффрі Андерсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.