~/ssh/authorized_keys を使用せずに ssh-key によるアクセスを有効にする

~/ssh/authorized_keys を使用せずに ssh-key によるアクセスを有効にする

キーを使ってssh / scpを介して私のホームディレクトリにアクセスしたいと思います。一般的に私はpubキーを〜/ ssh / authorization-keysに入れますが、

  • SSHキーを追加または削除する機能を無効にします(〜/ ssh / authorized_keysオフ)。
  • ユーザーはシステムのどこからでもrm -f pub_keyを使用したり、pub_keyを変更したりすることはできません。
  • 他のアカウントの公開鍵が格納されているディレクトリを「一般」ユーザーが読み取れないようにします。たとえば、/etc/sudoers.d/はroot1のみを読み取ることができます。

それは可能ですか?どうすればいいですか?

答え1

あなたは2つを達成したいと思います:

  • 認証は禁止されています~/.ssh/authorized_keys

    提案されているように、AuthorizedKeysFileいくつかの異なる場所に設定します。議論が必要な場合は評価されません(そうでなければ何も解決されません)。

  • 置くAuthorizedKeysCommand

    このコマンドは、ユーザーが選択した場所から認証キーを返します。

たとえば、

AuthorizedKeysFile /etc/ssh/%u/authorized_keys
AuthorizedKeysCommand /usr/sbin/get_user_keys
AuthorizedKeysCommandUser dedicated_user

スクリプトは/usr/sbin/get_user_keys次のとおりです。

#!/bin/sh
cat /etc/ssh/%u/authorized_keys

これはデフォルトでキーを読み取り専用にし、問題を解決します。

答え2

システム構成ファイルを編集せずに必要なものをほとんど取得する方法は1つあります。他のすべてを通常どおり使用し~user/.ssh/authorized_keysて変更できないようにします。

~user/.sshディレクトリを変更不可能にすることで、ディレクトリが移動または削除されるのを防ぎます。.sshこれは、ディレクトリが自分のコンテンツで新しいディレクトリを作成したくない場合に重要です。また、その中にあるファイルが追加、移動、削除されるのを防ぎます。

さまざまなファイル(たとえば、~user/.ssh/authorized_keysまたは~user/.ssh/id_rsa.pub)を変更できないため、ファイルが移動または削除されるのを防ぎます。また、編集できないようにします。

変更できないディレクトリとファイルはこの方法で保護されます。所有者に対して。不変性が除去されるrootまで、この方法でユーザーは保護します。root

ディレクトリとファイルを不変にする前に、プライバシー保護のためにディレクトリとファイルの権限が正しく設定されていることを確認してください。不変性はこれを防ぐからです。

次のように変更できない項目を設定します。

sudo chattr +i [directory path|file path]

.ssh特に便利なコマンドを使用すると、その中にあるすべてのファイルを一度に(またはサブディレクトリがある場合は繰り返し)保護できます。

sudo chattr -R +i ~user/.ssh

不変性をオフにして何かを変更するには(完了したらもう一度オンにする必要があります):

sudo chattr -i [directory path|file path]

必要な内容をすばやく編集する方法は次のとおりです。

sudo chattr -R -i ~user/.ssh

関連情報