sshは〜/ .ssh / configを使用しなくなりました


20

できたものをsshできません。少し掘り下げてみると、ホームディレクトリからssh configを読み取っていないことがわかりました。

$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
(...)

すべてが機能する友人の同一のコンピューター上では、次のようになります。

$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
(...)

それは以前に動作し、私はこの問題を引き起こすために私ができたことを知りません。これはどのように起こり、どのように修正するのですか?

tikeが指すドキュメントリンクでは、

悪用される可能性があるため、このファイルには、ユーザーの読み取り/書き込みが許可されており、他のユーザーがアクセスできないように、厳密なアクセス許可が必要です。

私の許可は:

$ ls -la ~/.ssh
total 80
drwx------+ 42 kuba  1029   1428 Jul  1 16:33 ..
-rwx------   1 kuba  1029   1528 May 15 13:07 config
(...)

問題はホームディレクトリに関する混乱にあると思います。ローカル設定ファイルを強制すると、動作し始め、突然読み込みを開始します/nas/kuba

$ ssh -xvvvF ~/.ssh/config server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
debug1: /Users/kuba/.ssh/config line 1: Applying options for *
debug1: /Users/kuba/.ssh/config line 39: Applying options for bio
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXXX [YYYY.YYY.YYY.YYY] port 22.
debug1: Connection established.
debug1: identity file /nas/kuba/.ssh/id_dsa type -1
                      ^^^^^^^^^^

しかし、私のホームディレクトリはうまく設定されているようです:

$ cd ~; pwd
/Users/kuba
$ echo $HOME
/Users/kuba

4
問題を回避することができました。〜/ .sshの内容を/nas/kuba/.sshにコピーしました。したがって、実際にはsshが間違ったホームディレクトリを突然使用することに問題がありますが、これはおそらく実際にはsshの問題ではありません。
キューバ14

最後のコメントは、質問に編集するのに非常に役立つ情報です。
デビッドZ 14

出力は、DSAを使用していることを示しています。RSAが最良/最新であるため、RSAに切り替える方法を見つけます。DSAが壊れていると思います。
トリシス14

3
@Kuba私が知る限りsshHOME環境変数は無視されます。無視するのは悪い習慣ですHOME、それがそうであるようsshです。それが使用しないならHOME、私が知っている唯一の代替手段はそれを調べることuidです。/etc/passwd同一のエントリが2つある場合、ホームが異なっていてもuid、両方とも同じ.ssh/configファイルを使用することになります。
カスペルド14

1
@kasperd、それが答えです。私の状況を助けたのはこのページで唯一のパンくずです。ありがとう!
ワイルドカード

回答:


14

ユーザー固有のssh_configとグローバルssh_configの間に閉じ込められているようです。

詳細を理解するには、ユーザーの構成ファイル(~/.ssh/config)およびシステム全体の構成ファイル(/etc/ssh/ssh_config)の許可設定を確認してください。

詳細については、こちらをご覧ください。実際には、ユーザーベースの.sshディレクトリ下のすべてのファイルは600に、configファイルは644にある必要があります。これは、ホームディレクトリで次のコマンドを使用して設定できます。

chmod 600 ~/.ssh/* 
chmod 644 ~/.ssh/config

だから私はドキュメントから最初にホームディレクトリから設定を読み取り、後でグローバル(/ etc / ssh / ssh_config)から読み取る必要があることを理解しています。質問は-なぜローカル設定を省略しているのですか?
キューバ14

上記の答えを更新
タイク

私は試した。何も変わっていません。質問を詳細に更新しました。
キューバ14

編集中に上記の質問を大幅に変更しなかった場合:debug1:/Users/kuba/.ssh/config line 1:* Apply for options for * debug1:/Users/kuba/.ssh/config line 39:Applying options for bio its reading config、構成ワイルドカードが役割を果たしているようです。定義済みのポートと宛先サーバーで最初にテストするために、単純な構成ファイルを保持します。
タイク

実際、私は質問を劇的に変更して、おそらくそれを閉じるべきだと思いました。sshは他のディレクトリをホームフォルダーとして扱っているようです。〜でも$ HOMEでもないもの。
キューバ14

3

許可を確認する

ls -lsd ~/.ssh

そして

ls -ls ~/.ssh/*

パーミッションが悪い場合、sshクライアントはそこから読み込もうとしません


0 drwx ------ 9 kuba /Users/kuba/.ssh 8 -rwx ------ 1 kuba /Users/kuba/.ssh/configは、私がすべての所有者のように見えます
Kuba

@Kubaはls -la〜/ .ssh /で試してください
c4f4t0r 14

ls -la〜/ .ssh合計80 drwx ------ 9 kuba 1029 306 Jul 1 16:33。drwx ------ + 42 kuba 1029 1428 Jul 1 16:33 .. -rw-r--r-- 1 kuba 1029 406 May 7 14:53 authorized_keys -rwx ------ 1 kuba 1029 1528 5月15日13:07 config -rwx ------ 1 kuba 1029 1675 5月7 14:53 id_rsa -rwx ------ 1 kuba 1029 406 5月7 14:53 id_rsa.pub -rw-r-- r-- 1キューバ1029 16049 5月22日09:36 known_hosts
キューバ14

@確かに、ホームユーザーディレクトリを開くことはできませんか?
c4f4t0r 14

2
その+あそこ... ACLじゃないですか?それが犯人かもしれない?
ホルヘスアレスデリス14

0

私は同じ問題を抱えていたので、~/.sshdir(0700)に+ xフラグを設定し、0600をオンに設定することで修正できました~/.ssh/config


0

それが価値があることについては、同じ問題があり、sshを作成して.sshフォルダを再度作成し(sshsshコマンドの名前を変更して実行する)、適切な権限で必要なファイルを後でコピーすることで修正しました。(600で構成)。

フォルダー.sshが承認されない方法で変更された場合、sshは疑わしいようです...


0

SSHは、NFSマウントされたファイルシステム上にある場合、ローカル設定を読み取りません。すべてのアクセス許可は問題なく、SSH(少なくともバージョン6.6)ではユーザー構成が読み取られない理由が示されないため、これは確認する価値があります。(ただし、-Fオプションを使用すると、NFSボリュームから読み取られます。)


0

MacOでも同じ問題が発生しました。手動ログインのデバッグ情報(ssh @)を見ると、明らかにsshは自分のホームディレクトリがそこに/srv/home/<userid>ある.sshディレクトリを探していると考え、その中のディレクトリを無視していることがわかりました。/Users/<userid>/.ssh/

おそらく、特定の方法でMacをセットアップする作業と関係があるのでしょうが、それを確認することsshをお勧めします。オペレーティングシステムは、ホームディレクトリの場所について同意します;)


0

「kasperd」が質問に対するコメントで示したsshように、「$ {HOME} /。ssh / config」を必ずしも検索するわけではないことに注意してください。判明したように、ログオン時および新しいHOMEがアサートされる前のホームディレクトリの場所をより深く掘り下げて知ることが重要です。

の出力を調べるヒントは、ssh -xvvvF ~/.ssh/config serverこのまったく同じ質問に答えるのに非常に洞察力がありました。「/ etc / passwd」ファイルで2つの異なるユーザー名が同じUIDを持つシステムで自分自身を見つけると、この問題が発生しました。2人のユーザーは、「/ etc / passwd」に異なるホームディレクトリを設定しています。

このようなシナリオでは、「/ etc / passwd」ファイルに重複するUIDを持つ2番目のユーザーとしてログインしている場合ssh、SSHを実行しているユーザーのUIDと一致する最初のユーザーのホームディレクトリを使用することがわかりますコマンド。

確かに、このユースケースは非常に奇妙であり、ほとんどの人にとっては役に立ちませんが、実際に起こり、このQ / Aは問題の解決に役立ちました。


0

これは、ファイルのアクセス許可設定が原因でした。

あなたのチェック.sshディレクトリやファイルのパーミッションを、またあなたのホームディレクトリのパーミッションの設定を確認してください。

私にとっては、個人ファイルを他人に見られたくないのでx、homes dirの許可を削除します。これにより、sshは間違ったパスへの許可されたキーを見つけます。

これを修正する1つの方法は/etc/ssh/sshd_config、たとえば、別の権限パスを設定することです。

AuthorizedKeysFile .ssh / authorized_keys / etc / ssh / authorized_keys

次に、パブを/etc/ssh/authorized_keysにコピーして、私のために働きました。

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