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
групи.
-o ssh_command='ssh -v'
команди просто зависає і нічого не видає
sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
. Чи можу я налаштувати свого користувача так, щоб він мав необхідні дозволи для монтажу в / mnt, щоб інші користувачі могли використовувати віддалені ресурси?