Termux の sshd はどんなユーザー名でも同じユーザーで入れる ── ソースで確かめる

母艦から Pixel 6(Termux の sshd)へ画像を scp するために ~/.ssh/config に エントリを足したとき、User を書いた。あとで気づいたが、相手が Termux だと ssh banana@<phone> でも ssh root@<phone> でも、同じユーザーでログインできる。 ~/.ssh/config の User 行は効いていない。設定の問題ではなく、Termux の OpenSSH ビルドの話だった。 まず観察 $ ssh -p 8022 banana@100.65.202.69 'whoami' u0_a440 $ ssh -p 8022 root@100.65.202.69 'whoami' u0_a440 Copy banana も root も通って、着地するのは u0_a440(Termux アプリのユーザー)。 鍵は /data/data/com.termux/files/home/.ssh/authorized_keys だけを見ている。 通常の OpenSSH がユーザーをどう解決するか sshd は、接続してきたユーザー名を struct passwd に解決する。これをやるのが auth.c の getpwnamallow()。素の OpenSSH ではこう: pw = getpwnam(user); Copy user はクライアントが送ってきた名前。それを /etc/passwd(実際には NSS 経由で LDAP / SSSD なども)で引く。 ...

Arch Linux と Windows 11 を安全にデュアルブートするためのメモ

このメモの目的 このメモは、ASRock 環境で実際にトラブルを踏んだ経験を元に、 Arch Linux と Windows 11 を同じディスクでデュアルブートしたい systemd-boot を使いたい 変な EFI トラブルで何日も溶かしたくない Arch / Windows / systemd-boot / UEFI の関係図 という人向けの「基礎まとめ」です。 詳細なチュートリアルというより、やってはいけないポイント や 設計の考え方 を中心にしています。 前提環境 例として想定している環境はこんな感じです。 マザーボード: ASRock A520M Pro4(UEFI) CPU: Ryzen 7 5700X GPU: Radeon RX 6600 XT メモリ: DDR4 32GB ストレージ: NVMe SSD 1 本 OS: Windows 11 + Arch Linux ブートローダー: systemd-boot パーティション形式: GPT ブート方式: UEFI(Legacy BIOS / CSM は使わない) 他のマザーボードでも基本の考え方は同じですが、UEFI のクセはメーカーごとに違うので、あくまで「考え方の参考」として読んでください。 ...