tweet:2021:0108_01
差分
このページの2つのバージョン間の差分を表示します。
— | tweet:2021:0108_01 [2021/01/08 16:15] (現在) – 作成 - 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== sshdでPublickeyをauthorized_keys以外から持ってくる ====== | ||
+ | |||
+ | ちょっと某所で sshd でのPublickey Authentication時のPublickeyを~/ | ||
+ | |||
+ | ===== 問題 ===== | ||
+ | * '' | ||
+ | * sshd_configに以下の記述 | ||
+ | * '' | ||
+ | * '' | ||
+ | * pubkey.shは以下の通り | ||
+ | * <code - pubkey.sh> | ||
+ | #!/bin/bash -e | ||
+ | echo " | ||
+ | </ | ||
+ | * ssh -v の結果 | ||
+ | * < | ||
+ | Permission denied (publickey, | ||
+ | </ | ||
+ | |||
+ | ===== 解決 ===== | ||
+ | * sshdのlogを見ると、'' | ||
+ | * 色々調べてみると、以下が判明 | ||
+ | * sshdは以下の条件のうち一つでも満たすと、上記エラーを吐く | ||
+ | - 他人に書き換えられる可能性のあるDirectoryに設置されている(/ | ||
+ | - Ownerがrootではない | ||
+ | - Owner以外が書き換えることができる(g+wとかo+wだとまずい) | ||
+ | - AuthorizedKeysCommandUser に指定されたUser Accountで実行できない | ||
+ | * というわけで、以下のように修正 | ||
+ | * Scriptを''/ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * sshdを再起動 | ||
+ | |||
+ | ===== 結論 ===== | ||
+ | * この手法を使えば、LDAPでsshの公開鍵を引っ張ってくることができそうだ | ||
+ | * OpenSSHはSecurity的に相当細かくCheckしているので、ある程度はこの手法を利用しても安全性を確保できそうだ | ||
+ | * 意外と問題の原因が分かりにくいので、追いかけるのが大変 | ||
+ | * 俺はエスパーじゃないので、何をどうしたいのか説明してくれ | ||
+ | |||
tweet/2021/0108_01.1610089982.txt.gz · 最終更新: 2021/01/08 16:15 (外部編集)