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キーペアを使用して認証を行います。

成功したら、さらに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_dirsudo chmod 774 /mnt/new_dir、私は意図したとおり、すべてが働いていると信じています。

このセットアップで知っておくべきセキュリティ上の問題はありますか?(自分のユーザーとrootだけがfuseグループのメンバーです。


こんにちはMBS、-vスイッチを指定してsshを実行し、存在する可能性のあるエラーを表示できます。ファイルの読み取り中にエラーが発生したかどうかを確認するには、これを行う価値があるかもしれません。また、ターゲットサーバー上のキーには600のアクセス許可が必要です。
Rqomey 2013年

早速のご返事ありがとうございます。sshの冗長:pastebin.com/Rm5X7y5pは(私は分で冗長sshfsのに戻ります
不可分の

使用sshfsの-o ssh_command='ssh -v'コマンドだけでハングアップし、何も出力しません
不可分の

私は問題を発見したかもしれません(または少なくともそれに近づきました)。sudoを使用してリモートの場所を/ mnt / new_dirにマウントしようとしていました。私が私のローカルな家の中の場所にマウントすれば、それは機能します。sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount。他のユーザーがリモートリソースを利用できるように、/ mntにマウントするために必要な権限を持つようにユーザーを構成できますか?
2013年

1
私はあなたがstackexchangeに慣れていないので、ようこそ。しかし、いくつかのヒント:データを不明瞭にして自分自身を匿名化してみたいと思っていることはわかっていますが、そうすべきではありません。マウントをマウントする場所を示す情報を提供した場合、他の人が問題に気付いた可能性があります。また、出力を提供するために外部サイト(ペーストビン)にリンクしないでください。ここに含めてください。最後に、解決策がある場合は、それを回答として提供し、その回答を受け入れます。件名に「解決済み」を入れないでください。
Patrick

回答:


12

使用しているsudo場合は、ルートの資格情報を使用してマウントしている可能性があります。私はおそらくあなたが求めていることをしないでしょう、wrt。/mntuser1としてマウントし、user2としてアクセスします。グループとユーザー権限で複雑になります。ディレクトリを/ mntにマウントして共有したい場合は、システムレベルでマウントして、を使用する必要がありautofsます。

自動マウント

このようなマウントを自動マウントするために知っている3つの方法があります。


それがまさに問題でした。問題のフォルダーのアクセス許可を変更するために行った手順を含めるように質問を編集しましたが、それが機能している間は、それが最善の解決策ではないと確信しています。-これまでautofsはsshfs接続を確立することができなかったため、まだ使用を試みていませんでした。あなたは、私は別のキーペアを追加することを示唆しているlocal:/root/.ssh/keyremote:/[user]/.ssh/authorized_keys?何をすべきchownchmodするためにもlocal:/mnt/dirできますか?(私は自分自身のために完全な権限を持ち、他のユーザーに対してのみ読み取りたい)
2013年

@mbs-更新を参照
slm

1
autofsへのそのURL、それは正しいですか?リクエストすると正しくないように見えるため。それは非英語の言語でスポーツを示しています。
ジェフリーアンダーソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.