web-dev-qa-db-ja.com

SSHキーファイルの権限チェックをバイパスする

秘密キーファイルとその他の機密データを含む、暗号化されたFATボリューム(互換性のため)があります。

秘密キーを使用してSSH経由でサーバーに接続したいのですが、もちろんFATはファイルのアクセス許可をサポートしていないため、アクセス許可が大きすぎるというキーを無視します。

だから今私はそれを0600のパーミッションで私のハードドライブのどこかにコピーし、それを使ってそれを安全に消去していますが、それは苦痛です。

このssh/scpコマンドラインで権限チェックをバイパスする方法はありますか?

編集:精度:OS XのTrueCryptボリュームでした。

ソリューションについて:以下の受け入れられた回答は私の問題を解決しましたが(Mac OS XでTrueCryptボリュームにあるSSHキーファイルを使用して)、これは回避策です。 「バイパスキーファイルの権限チェック」を行う方法がないようです。

32
instanceof me

私の知る限り、sshやssh-addでキーファイルの権限チェックを回避する方法はありません(そして、名前付きパイプなどでそれをだますことはできません)。さらに、実際にはsshをだます必要はありませんが、キーファイルを使用できるようにするだけです。

確かに、TrueCryptボリュームはデータをプライベートに保つことになっているので、ボリュームを世界が読めるようにマウントすること(TrueCryptのデフォルトの動作)は、実際には最適ではありません。 FATフォーマットのボリュームを使用している場合は、Dan Carleyが提案したように、マウントオプションを調整する必要があります。

TrueCrypt for OS Xではまだマウントオプションが正しくサポートされていませんが(コマンドラインインターフェイスを使用してTCを起動し、manページからマウントオプションを実行した場合でも-既に試行済みです)、OS Xはボリューム名に基づくマウントオプションのデフォルトをサポートしています。

ユーザーIDを知っている必要があります(コンピューターの最初で唯一のユーザーの場合、通常は501)。 「id -u」で取得できます。

ボリューム名が "PRIVATE"(ボリューム名は大文字)で、uidが501であるとしましょう。この行を/ etc/fstabに追加するだけです。

LABEL=PRIVATE none msdos -u=501,-m=700

このファイルを作成/編集するには、rootである必要があります(デフォルトのOSXインストールには存在しません)。

Sudo vim /etc/fstab

次回ボリュームをマウントすると、アクセス許可700と所有者ID 501が付与されます。

これはUSBドライブでも機能します(通常はFATでフォーマットされています)。

18
user9437

Stdinからのキーの追加は私にとってうまくいきました:

cat /path/to/id_rsa | ssh-add -k -
38
R_Beagrie

クレイジーな回避策として、秘密キーを含むext2ボリュームのディスクイメージを作成し、それをループデバイスとしてマウントし、そこからsshキーを使用することができます。

1MBの空のファイルを作成します。

dd if=/dev/zero of=diskimg bs=1024 count=1024

Ext2をフォーマットします(デバイスではないと表示されたらYを押します):

mke2fs diskimg

どこかに(ルートとして)マウントします。

mount -t ext2 -o loop diskimg /my/path/to/diskimg

これで、パーミッションを設定できる小さなext2ファイルシステムができました。それをマウントするスクリプトを作成し、それらの権限に、現在使用しているシステムに基づいて適切なUID/GIDがあることを確認できます(UIDが一致しない場合があるため)。また、機能するにはSudo/rootアクセスが必要です。

7
Kyle Smith

追加StrictModes noから/etc/ssh/sshd_config(およびreload/restart sshd)?

編集:おっと、このオプションはサーバー側のみです:/

2
Benoît

私が正しく思い出せば、ssh-agentはキーの権限をチェックしません。だからこれはうまくいくかもしれません:

[-S "$ SSH_AUTH_SOCK"] || eval $(ssh-agent)
ssh-add path/to/id_rsa
1
user1686

マウントオプション(umaskuidおよびgid)を適切に変更できますか?

0
Dan Carley