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キーペアを使用して認証を行います。
成功したら、さらに3つのリモートサーバーに対してこれを繰り返します。それぞれ異なるキーを使用するため、どのキーをどのリモートサーバーにマップするかを指定できるようにする必要があります。
このチュートリアルに基づいて変更を加えました
- 公開鍵はremote:authorized_keysにあります
- ローカルユーザーを
fuse
グループに追加しました。 ~/.ssh/config
(サーバーごとに)持つようにローカルを編集しました:
`
Host [server_ip]
Port = [port]
IdentityFile = "~/.ssh/[private_key]"
User = "[user]"
`
リモートサーバーをローカルにマウントしようとするたびに、リモートユーザーのパスワード(秘密キーのパスワードではない)の入力を求められます。リモートユーザーはランダムに生成された長いパスワードを持っているので、それを保存したり覚えたりする必要はないので、キーを使用してこれを行います。
~/.ssh/config
コマンドを使用してssh(ファイルと組み合わせて)を介して接続できるssh [ip]
ので、リモートユーザーではなくキーのパスフレーズを要求されるので、構成ファイルを正しく読み取ることができます。
リモートサーバーへの接続を試みるには、コマンドで完全な接続の詳細を手動で指定する必要があります。 `sshfs [user] @ [ip]:[remote_path] [local_path] -p [port]
これまでに試したこと:
- ssh-add / path / to / key(成功した追加)
PreferredAuthentication = publickey
〜/ .ssh / configでの指定- sshfs -o IdentityFile = / path / to / key user @ ip:/ / my / mnt / dir
- sshfs user @ ip:/ / my / mnt / dir -o IdentityFile = / path / to / key
- キーの一時的な名前変更をデフォルトの
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 2012年5月10日 debug1:構成データの読み取り/home/[me]/.ssh/config debug1:/home/[me]/.ssh/config 2行目:[remote_ip]のオプションの適用 debug1:/home/[me]/.ssh/config行24:*のオプションの適用 debug1:構成データの読み取り/ etc / ssh / ssh_config debug1:/ etc / ssh / ssh_config行19:*のオプションの適用 debug1:[remote_ip] [[remote_ip]]ポート[port]に接続しています。 debug1:接続が確立されました。 debug1:IDファイル/home/[me]/.ssh/[private_key]タイプ2 debug1:ブラックリストファイル/usr/share/ssh/blacklist.DSA-1024を確認しています debug1:ブラックリストファイル/etc/ssh/blacklist.DSA-1024を確認しています debug1:IDファイル/home/[me]/.ssh/[private_key]-cert type -1 debug1:リモートプロトコルバージョン2.0、リモートソフトウェアバージョンOpenSSH_5.9p1 Debian-5ubuntu1.1 debug1:一致: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-> server 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/[me]/.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、password debug1:次の認証方法:publickey debug1:DSA公開鍵の提供:/home/[me]/.ssh/[private_key] debug1:サーバーはキーを受け入れます:pkalg ssh-dss blen 433 debug1:レベル6で圧縮を有効にします。 debug1:認証に成功しました(公開鍵)。 [remote_ip]([[remote_ip]]:[port])に対して認証されています。 debug1:チャネル0:新しい[クライアントセッション] debug1:no-more-sessions@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)
編集:
問題が見つかりました。sudoを使用してリモートの場所を/ mnt / new_dirにマウントしようとしていました。私が私のローカルな家の中の場所にマウントすれば、それは機能します。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にマウントするために必要な権限を持つようにユーザーを構成できますか?