UNIXユーザーがSSHを介してサーバーにアクセスし、公開鍵ログインのみを許可したい場合は、このリストに追加するときに考慮すべき他の項目がありますか?
- サーバーにファイルを許可します
pubkey login
。sshd_config
- 基本パスワードに関する注意事項。「!」または「*」
ベストアンサー1
どのSSHサーバーとどのUnixシステムセットが必要かを教えてください。
!
または(この項目を読み取るために使用されます)、その項目を表示するときと*
パスワードはありません。/etc/passwd
/etc/shadow
getent
アカウントにパスワードがあるかロックされているかを示すフラグ。
これは、PAM の構成とバージョンとディストリビューションによって異なる重要な違いです。Linuxを使用している場合。ロックされているとログインできないようですが、古いシステムではすぐに動作する可能性があります(少なくとも私の経験ではそうでした)。
(スーパーユーザーとして)passwd -l <name>
アカウントをロックしたり(!
)passwd -d <name>
アカウントからパスワードを削除したり(*
)、2つを組み合わせて既存のパスワードを削除したりできますpasswd -dl <name>
。
私は言っていませんが、/etc/ssh/sshd_config
OpenSSH(パスは異なる場合があります)の関連ガイドラインが次のとおりです。
HostKey ...
サーバーにはRSA2またはDSAのホストキーが必要です(より近代的な実装には2つの楕円曲線実装も追加されています)。 RSA1は、すべての一般的なSSHサーバー実装で長く使用されていません。
それから:
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
また、私は常にSSH()を介してログインを設定し/etc/sudoers
て完全に無効にすることをお勧めします。ただし、このより安全な設定には、ディスクがいっぱいになり、権限のないメンバーがディスクに書き込めない場合(予約済みスペースのため)、小さな欠点がある可能性があります。だからYMMV。root
PermitRootLogin no
sudo
root
2つの追加提案
SSHアクセスを制限するためのグループの割り当て
グループssh-users
(または希望の名前)を作成し、適切なディレクティブを設定しますsshd_config
。root
上記の情報に基づいて選択したポリシーに従って、グループがグループのメンバーであることを確認してください。
AllowGroups ssh-users
ユーザーを制限するには、グループを割り当てます。ただSFTPアクセス
次のステップsshd_config
は、ユーザーがエスケープできないようにし、/home
特定の機能を無効にすることです。
Match group sftponly
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
PasswordAuthentication no
結論として
はい。 Linuxでは、PAMを考慮事項として追加する必要があります。
また、プロキシ転送を許可するのか、それともユーザーに任せるのかが含まれます。
最後に重要なのは、ポートまたはX11接続転送が許可されるかどうかです。特にポートは、ユーザがサーバをプロキシとして使用できるので、望ましくない場合がある。
また、このMatch
ディレクティブを使用すると、ユーザーが接続できる場所を制限できます(ファイアウォールまたはTCPラッパーもこれを行うことができます)。
ユーザーがキーを管理できるようにしますか、または抽象化してauthorized_keys
ユーザーが直接アクセスできないようにしますか?
もちろん、より多くの側面がありますが、ほとんどはより細かい詳細レベルにあるので、上記の点に対するバリエーションです。