GL-iNetのルータGL-AXT1800は、軽量なSSHサーバであるDropbearを使用しています。パスワードなしで安全にログインできる公開鍵認証をサポートしています。この記事では、公開鍵認証を有効にするための具体的な手順と、authorized_keys
ファイルの配置について説明します。
SSHで公開鍵認証を使用する場合、クライアント側で生成された公開鍵をサーバに配置し、クライアントの認証に使用します。GL-AXT1800のDropbearでは、公開鍵を**/etc/dropbear/authorized_keys
**に配置します。
以下は、GL-AXT1800でのauthorized_keys
ファイルの例です。実際の鍵部分とPC名はマスクしています。
root@GL-AXT1800:/etc/dropbear# cat authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx user@XXXXX
-
公開鍵の生成:
クライアント側でSSH鍵を生成するには、ssh-keygen
コマンドを使用します。このコマンドは、OpenSSHクライアントの一部です。ssh-keygen -t ed25519
このコマンドで生成された公開鍵(例:
~/.ssh/id_ed25519.pub
)を次のステップで使用します。 -
公開鍵の配置:
-
手動で配置: 公開鍵を手動でGL-AXT1800にコピーし、
/etc/dropbear/authorized_keys
に追加します。cat ~/.ssh/id_ed25519.pub | ssh root@<router_ip> 'cat >> /etc/dropbear/authorized_keys'
-
ssh-copy-id
コマンドを使用:ssh-copy-id
を使用して公開鍵を簡単に転送することもできます。ssh-copy-id -i ~/.ssh/id_ed25519.pub root@<router_ip>
-
-
パーミッションの設定: セキュリティを強化するため、次のコマンドでパーミッションを設定します。
chmod 600 /etc/dropbear/authorized_keys chmod 700 /etc/dropbear
GL-AXT1800には、/sbin/uci
コマンドがインストールされています。uci
(Unified Configuration Interface)は、OpenWrtやその派生システムで使用される設定管理ツールで、簡単に設定変更が可能です。次のコマンドで、パスワード認証を無効にして公開鍵認証のみを有効にできます。
uci set dropbear.@dropbear[0].PasswordAuth=off
uci commit dropbear
service dropbear restart
設定が完了したら、クライアント側で以下のコマンドを使用し、パスワードなしでGL-AXT1800にログインできることを確認します。
ssh -i ~/.ssh/id_ed25519 root@<router_ip>
GL-iNet GL-AXT1800でDropbearを使用して公開鍵認証を設定する際、公開鍵を**/etc/dropbear/authorized_keys
**に配置する必要があります。手動で公開鍵をコピーするか、ssh-copy-id
コマンドを使用する方法があります。uci
コマンドを使ってパスワード認証を無効にし、セキュリティをさらに強化することも可能です。これにより、安全かつ効率的なSSHアクセスが実現します。