ILO4 において SSH ログインができなくて地獄を見る

この記事を作った動機 最近、なんか公開鍵認証で鍵を登録したのにパスワードを求められたり、あるいは完全に特定のPCにおいて、SSH ログインが動作しているPCと設定が同じであるにもかかわらずログインできなかったりと、色々振り回されていることについて、いい加減対応しようと思い調べた。それで色々手こずったので、記録を残したい。 結論としては、SSH クライアントなど OpenSSL 周りはどんどん新しくなっていき、古い認証用バイナリは削除され、使えなくなることが時間の問題であることが分かった。SSH ログインによる ILO4 制御を諦めたほうが良いという結論になった。今まで SSH で管理してきたという背景からは、CLI で動く SSH であることが望ましかった。しかし、現実的な妥協点が、Selenium を使って ILO4 の Web インターフェースを自動化するか、RESTfulAPI を使って curl コマンドで ILO を HTTP により操作するということに至った。 環境 HPE Proliant Gen9 シリーズに搭載されている、ILO4 について。 ILO4 のバージョン iLO Feb 06 2023 2.82 ILO4 は LAN 内で動作しており、グローバル空間に直接つながっていない閉鎖的な環境下であり、SSH の暗号化がそれほど重要でない場面を想定 具体的な経緯など 組み込み機器にある SSH サーバはその用途に最適化されており、新しい規格についていけないところがある。いくらオプションを指定してももはや私が常用している Linux 環境の SSH クライアントではログイン不能であった。今までは、SSH クライアントに以下のオプションをつけることでゴリ押ししてログインできていたが、最近のアップデートの影響かできなくなったぽいことも、問題に本格的に取り組もうと思った動機であった。 KexAlgorithms=+diffie-hellman-group14-sha1 HostKeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa 上記設定が通用した OpenSSL のバージョンと、通用しなくなったと思われるバージョンを以下に示す。 通用するとき openssl -v OpenSSL 3.5.2 5 Aug 2025 (Library: OpenSSL 3.5.2 5 Aug 2025) 通用しないとき openssl -v OpenSSL 3.6.3 9 Jun 2026 (Library: OpenSSL 3.6.3 9 Jun 2026) 試したことについて RESTfulAPI と Curl コマンドを使う方法 (今回採用した手法) 結局のところ、HTTP を介して行われる、RESTfulAPI を直接 curl コマンドで叩くのが現実的であるということになったが、自分でスクリプトを書いたわけではない。とにかく ILO4 経由でサーバの電源をリモートで気軽に入れたいだけだったため、ローカルLLM (Gemma4-12B-qat) に直接書かせた。最初はまあ動かない物を出してきたが、ネットから ILO4 RESTful API Reference のドキュメントを引っ張り出して、全部ではなくAuthentication and Sessionsあたりのセッションの文字列をヒントとして与えたところで、動作するスクリプトを手に入れることができた。パスワードなどの認証情報(機密情報)も与えて、とりあえず簡単に動くスクリプトを作るように指示できるのは、学習データに入力内容が使われるおそれも心配しなくていいローカル LLM 環境ならではであるようにも思う。 ...

2026年8月17日

ssh 経由でクローンできる git リポジトリを作るメモ

この記事を書いた動機 単に、リポジトリを作るところまではうまく行っていたのですが、リポジトリをクローンするときに、ユーザ名の指定をわかっておらず、ずっと以下のように間違った"git"というユーザを指定し続けていてなかなか気づけなかったということがあったのでメモすることにしました。 git clone git@[serveradress]:/Path/To/Target/Proejct/Root/Folder ちなみに、間違ったユーザを指定していると、ssh接続できないので、ずっと"Permission denied (publickey).“と言われ続けます。。。最初はなんでssh コマンド経由でつながるのに、gitではうまくいかないのかみたいになっていましたが、結局のところ間違ったユーザを意図せず指定し続けていただけなのでした。。。 リポジトリを作る cd /Path/To/Target/Proejct/Root/Folder git init --bare リポジトリをクローン git clone [username]@[serveradress]:/Path/To/Target/Proejct/Root/Folder 参考にしたサイトとか debugging - How can I debug git/git-shell related problems? - Stack Overflow https://stackoverflow.com/questions/6178401/how-can-i-debug-git-git-shell-related-problems (2025年3月10日) Git - Setting Up the Server https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server (2025年3月10日) Why doesn’t my SSH key work for connecting to github? - Stack Overflow https://stackoverflow.com/questions/9960897/why-doesnt-my-ssh-key-work-for-connecting-to-github (2025年3月10日) ChatGPT https://chatgpt.com/ (2025年3月10日)

2025年3月10日

ssh サーバ (sshd) の設定のメモ

この記事を書いた動機 最近、サーバーをセットアップする機会があって、sshd に関して最低限どんな設定をしていたか、忘れていたということがあった。そこではいちいち調べていたが、今後同じようなことがあったときのために、適当に記録しておくことにした。 ちなみに、今回以下に示す設定項目については、sshd のデフォルトの設定状態から、変更または追加した部分についてしか書いていない。使う linux ディストリビューション次第では、パッケージマネージャからインストールされる sshd のデフォルトのコンフィグの設定が地味に違う可能性があるので注意する。 /etc/ssh/sshd_config # Include drop-in configurations Include /etc/ssh/sshd_config.d/*.conf ... # ルート(管理者権限を持ったアカウント)でログインさせない PermitRootLogin no # 公開鍵によるユーザ認証を許可する PubkeyAuthentication yes # パスワードによるユーザ認証は許可しない PasswordAuthentication no # 多分これはなくても ".ssh/authorized_keys" が公開鍵の保存場所としてデフォルトで認識されるが、今回は明示的に示している AuthorizedKeysFile .ssh/authorized_keys ... 関連性のありそうな記事 Samba を設定する 参考にしたサイトとか 今回は自分のサーバの設定を見て、適当にどういう解釈で設定しているか記録を取っただけなので、特になし。

2025年2月7日