web-dev-qa-db-ja.com

非rootユーザーとしてのSSHクライアント認証

私のシステムでは、sshクライアント認証はrootに対して許可されていましたが、sshクライアント認証が非rootユーザーに対してのみ許可されるようにしたいと思いました。 rootとしてsshを無効にするために、PermitRootLogin yesからPermitRootLogin no、しかし今は自分のプラットフォームにSSHで接続できません。

Root以外のユーザーに対してのみsshクライアント認証を有効にする方法を誰かに教えてもらえますか?

3
Ram

Sshサーバーの構成は、/ etc/ssh/sshd_configというファイルで行われます。このファイルを開いて、次のことを確認してください。

1)以下の指示はありますか?

AllowUsers ...
AllowGroups ...
DenyUsers ...
DenyGroups ...

その場合は、自分で接続できるように変更する必要があります。

2)次のような指示はありますか?

PasswordAuthentication no

存在する場合、それはssh認証が暗号鍵を介してのみ発生できることを意味します。あなたは明らかにそれを持っていないので、これは効果的にあなたがシステムにsshすることを禁止します。

これを

PasswordAuthentication yes

これが問題に対する完全な解決策かどうかをテストできるようにします。自分が納得していることを確認したら、sshもあなたのために機能し、自分用の暗号化キーを確立し、PasswordAuthenticationを再度オフにします。ネット上には、認証にパスワードではなくキーを使用する方法に関する多くの役立つガイドがあります。やれ。セキュリティが大幅に向上します。

このテストを完了するには、SSHサーバーを再起動する必要があります。再起動しないと、/ etc/ssh/sshd_configに導入された変更が有効になりません。それを行うかどうかはシステムに依存します:

 Sudo service ssh restart

またはSudo systemctl daemon-reload Sudo systemctl restart sshd

(1つ目はDebianとその派生物、2つ目はArch Linux、Fedora、および一般的なsystemdシステム用です)。

3.)指示はありますか

PermitRootLogin no

あなたがrootとしてログインしようとしている間?その場合は、上記のいいえをはいに変更します。

それでも問題が解決しない場合は、デバッグの詳細を提供する必要があります。デバッグの詳細は、クライアントマシンで発行することで取得できます。

ssh me@my_pc -vv

かなりの量のデータを出力し、このタスクに役立ちます。サーバー上で発行される同等の(そして明らかにセキュリティ上の理由から、はるかに有益な)オプションがあります。まずサービスを停止する必要があります。

 Sudo service ssh stop
 Sudo systemctl stop sshd

そして、それを再起動します

 Sudo /usr/sbin/sshd -Dd
 Sudo /usr/bin/sshd -Dd

2つのタイプのシステムについても同様です(Arch以外のsystemdディストリビューションについてはわかりませんが、おそらく最初の形式はArch以外のすべてのシステムに適用されます)。

これにより、デバッグに必要な情報が生成されます。

4
MariusMatutiae

使用しているLinux/Unixの種類がわからない。私はUbuntuをよく使用します。

デフォルトでは、通常のユーザーとしてSSH経由でログインできます。ログインできます

ssh -l myuser myhost

または

ssh myuser@myhost

このようにしてみましたか?はいの場合、次の失敗の一般的な理由を考えることができます。

  • Linux/Unixによっては、ログインを許可するために、ユーザーを特定のグループ(sshなど)に追加する必要がある場合があります。
  • また、パスワードを使用して、または公開鍵のみを使用してログインすることを許可したかどうかを確認する必要があります(この場合、ログイン時に鍵を生成または指定する必要がある場合があります)。
  • 特定のIPへのログインを制限し、別のIPを使用している可能性があります。

デバッグするには、-vvv sshでログインしようとしているとき。これにより、SSHが試行していることと発生したことに関する多くのデバッグメッセージが表示されます。

0
Thomas Deutsch