SSHキーを使用してパスワード認証を無効にする方法


12

LinuxクライアントコンピューターからSSHを介してMacにリモートアクセスしようとしています(このMacには物理的にアクセスできます)。私の目標は、ネットワークの外からこのMacにアクセスすることです。ルータにポート転送が設定されています。クライアントコンピューターからssh user@ipパブリックIPにアクセスでき、Macにもアクセスできるため、ポート転送が機能しています。

次に、SSHキーを設定します。クライアントコンピューターでSSHキーを生成しましたが、最初にMacセットアップでSSHデーモンを取得したいと思っていました。編集/etc/ssh_config・設定しましたPasswordAuthentication no。次のコマンドでSSHを再起動しました:sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist、次にsudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist。もう一度クライアントからSSHで接続しようとすると、パスワードの入力を求められます。

私はこの投稿を見て、その回答から構成UsePAM noファイルに追加して、launchctlもう一度サービスを再開しました。パスワードの入力を求められます。

私もここで解決策を試しまし。パスワードの入力を求められます。

ssh_configパスワードを要求せず、SSHキーのみを受け入れるようにを設定するにはどうすればよいですか?デーモンを正しく再起動していませんか?私が見逃している別のステップはありますか?

回答:


13

間違った設定ファイルを編集していました!代わりに/etc/ssh_config、私は編集しましたprivate/etc/sshd_config/etc/sshd_config@GhostLyricsからの更新された回答に従って編集した場合、これもおそらく機能すると思いますが、まだテストしていなかったため、はっきりとは言えません。その後、私はサービスを再起動sudo launchctl stop com.openssh.sshdしてからsudo launchctl start com.openssh.sshd、私は私の目的の動作を取得することができました。ここに私が関連情報を見つけたリソースがあります:https : //superuser.com/questions/364304/how-do-i-configure-ssh-on-os-x

ここに私が変更した設定オプションがあります:

PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

その後、クライアントコンピューターでSSHキーを正常に生成し、公開キーを~/.ssh/authorized_keysMac に移動して、そのファイルのアクセス許可を644に設定しました。

これらの権限は私の公開鍵に対するものであることに注意することが重要です。私の秘密鍵の権限は私のクライアントコンピュータに600に設定されています。フォルダーに公開キーと秘密キーの両方があり、システムに複数のユーザーがいる場合、これは非常に重要です~/.ssh秘密キーのアクセス許可が644に設定されている場合、すべてのユーザーが秘密キーを読み取って偽装する可能性があります。また、~/.sshフォルダのアクセス許可は700にする必要があります。


5
内部的には、/etc/sshd_config/private/etc/sshd_config同じファイルです。:)
GhostLyrics 2016年

8

/etc/ssh/ssh_configホームディレクトリに特定のファイルがない場合に使用されるクライアントの構成ファイルです。あなたが編集したいのは/etc/ssh/sshd_config、サーバー用のものです。

おそらくそこに設定PermitRootLogin without-password(またはno)したいと思うでしょうPasswordAuthentication no


更新:Yosemiteを実行しているため、ファイルは/etc/sshd_config次の回答に従っています:https : //apple.stackexchange.com/a/167405/11135

さらにするには、精巧なぜそれまだプロンプトの設定PasswordAuthentication no/etc/ssh/ssh_config、あなたが設定さを理解することが重要です。「SSH経由で発信接続を行うときは、パスワード認証を提供しないでください。」


私は持っていない/etc/ssh/ssh_configだけで、/etc/ssh_config。ヨセミテで走っています。私は試しましたPasswordAuthentication noが、それでもパスワードの入力を求められます。
beznez 2016年

ああ、分かった。それは私が望むものではありません。キーを使用して、パスワードなしでLinuxクライアントからMacにSSHで接続します。着信接続では何を変更すればよいですか?
beznez

/etc/sshd_configPasswordAuthentication no。混乱させて申し訳ありません。答えをより明確にする方法を教えてください。:)
GhostLyrics

私はまだ同じ動作をしています。LinuxマシンからMacにsshすると、パスワードの入力を求められます。
beznez

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.