web-dev-qa-db-ja.com

sshfsは〜/ .ssh / configを使用しません(Linux Mint 15)

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

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(追加に成功)
  • 〜/ .ssh/configにPreferredAuthentication = publickeyを指定する
  • 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のオプションの適用:[re​​mote_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タイプ-1 
 debug1:リモートプロトコルバージョン2.0、リモートソフトウェアバージョンOpenSSH_5.9p1 Debian-5ubuntu1.1 
 debug1:一致:OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 * 
 debug1:互換モードfを有効にするまたはプロトコル2.0 
 debug1:ローカルバージョン文字列SSH-2.0-OpenSSH_6.1p1 Debian-4 
 debug1:SSH2_MSG_KEXINIT sent 
 debug1:SSH2_MSG_KEXINIT received 
 debug1:kex: server-> client aes128-ctr hmac-md5 [email protected] 
 debug1:kex:client-> server aes128-ctr hmac-md5 [email protected] 
 debug1:SSH2_MSG_KEX_ECDH_INIT 
 debug1:SSH2_MSG_KEX_ECDH_REPLYを期待しています
 debug1:サーバーホストキー:[key] 
 debug1:ポート識別子なしでチェック
 debug1:ホスト '[remote_ip]'は既知であり、 ECDSAホストキー。
 debug1:/home/[me]/.ssh/known_hosts:7
debug1:で一致するキーがポート
debug1:ssh_ecdsa_verify:署名が正しい
デバッグ1:SSH2_MSG_NEWKEYSが送信されました
デバッグ1:SSH2_MSG_NEWKEYSが期待されます
デバッグ1:SSH2_MSG_NEWKEYSが受信されました
デバッグ1:サーバーでローミングが許可されていません
デバッグ1:SSH2_ESTG_SERVICE 
 debug1:SSH2_MSG_SERVICE_ACCEPT received 
 debug1:Authenticati続行できるons:publickey、password 
 debug1:次の認証方法:publickey 
 debug1:DSA公開鍵の提供:/home/[me]/.ssh/[private_key]
 debug1:サーバーはキーを受け入れます:pkalg ssh-dss blen 433 
 debug1:レベル6で圧縮を有効にします。
 debug1:認証が成功しました(publickey)。
 [remote_ip]([ [remote_ip]]:[port])。
 debug1:channel 0:new [client-session] 
 debug1:Requesting [email protected] 
 debug1:インタラクティブセッションに入ります。
デバッグ1:送信環境。
デバッグ1:送信環境LANG = en_GB.UTF-8 
デバッグ1:送信環境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グループのメンバーです。

10
indivisible

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

自動マウント

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

12
slm