キーを使って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