SSHおよびホームディレクトリのアクセス許可


53

私の学校のサーバー上のクラスアカウントの1つでこのSSH問題を解決するのに何時間もかかりました。

パスワードを入力しないと特定のクラスアカウントにsshできませんでしたが、パスワードなしの認証は他のクラスアカウントで機能しました。.ssh /ディレクトリとそのすべてのコンテンツには、他のクラスアカウントと同じ正しい権限がありました。

問題は、自分のホームディレクトリに設定されているアクセス許可であることが判明しました。ホームディレクトリの権限が770に設定されている場合(.ssh /に設定されている権限に関係なく)、パスワードなしの認証は機能しませんでしたが、755または700に設定された権限では機能しました。

誰もSSHがこれを行う理由を知っていますか?ホームディレクトリのアクセス許可が許容範囲を超えているためですか?ホームディレクトリが700よりも寛容に設定されている場合、SSHが公開/秘密キーによる認証を拒否するのはなぜですか?


1
以下の回答を確認しました。問題は、ホームフォルダーのグループのアクセス許可が正しく設定されていないことです(auth.logからのエラーメッセージは、「認証が拒否されました:ディレクトリ/ home / <user>の所有権またはモードが不正です」)。SSHはhome dirのパーミッションについて気を配るのが正しいと思います。
action_potato

5
ここにあるタグwikiについてご存知ですか?sshをクリックしてからをクリックすると、learn moreSSHが機能していない場合の対処方法のチェックリストが表示され、ホームディレクトリのアクセス許可が示されます。
ジル 'SO-悪である停止

ああ、すみません、それについて知りませんでした!ヘッドアップをありがとう。
action_potato

回答:


54

これはSSHのデフォルトの動作です。これは、所有者のみに書き込み権限を強制rwx------$HOME/.ssh、保証することでユーザーキーを保護します$HOME。それぞれの所有者以外のユーザーが$HOMEディレクトリへの書き込み権限を持っている場合$HOME/.ssh、ユーザーキーのアクセス権を不正に変更したり、ユーザーキーを潜在的にハイジャックしたりする可能性がありますknown_hosts。要約$HOMEすると、SSHを機能させるには、次の権限で十分です。

  • rwx------
  • rwxr-x---
  • rwxr-xr-x

SSHは正しく機能せず、ディレクトリにバリエーションがあるg+wo+w存在する場合、ログ機能に警告を送信します$HOME。ただし、管理者StrictModes nosshd_config(または同様の)構成ファイルで定義することでこの動作をオーバーライドできますが、これは推奨されないことは明らかです。


1
言及してくれてありがとうStrictModes no。私の設定では、ACLはターゲットユーザーのホームディレクトリとすべての子孫で構成され、セミ特権ユーザー(u:operator:rwx)による変更を許可しますが、SSHはこれを好みませんでした。
intelfx

31

ホームディレクトリの77xは、正しいGIDを持つすべてのユーザーが.sshディレクトリを移動して別のディレクトリに置き換えることができることを意味します。正しいGIDを持つユーザーは、ホームディレクトリに対する書き込み/実行権限を持っているため、ファイル/ディレクトリの名前を変更/作成できます。

SSHは、アクセス権に関して非常に注意が必要です。

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