sshログインしても何も操作をさせないぜ!

トンネリングを目的にsshを使う場合、ログイン後の操作を制限したい場合があります。これは、sshサーバ側のユーザのauthorized_keysに「command」という設定を書くことで実現できます。
※ authorized_keysを使うのでsshキーによるログインが前提の方法です。

具体的には、サーバ側の~/.ssh/authorized_keys に以下のように書かれているとします。

ssh-rsa AAAABYMfIAJF(ssh公開キー中略)0aAAn root@localhost

この行に以下のようにcommandという設定を先頭に書き足します。

command="echo 'locked'; tail -f /dev/null" ssh-rsa AAAABYMfIAJF (公開キー中略) 0aAAn root@localhost

この状態でsshログインすると、上記commandに指定されたコマンドが実行されるため、

locked

という文字が表示された後、"tail -f /dev/null" が実行され続けます。つまりユーザは何もできません。
※ tail -f /dev/null は、永遠に /dev/null から情報を読み続けるだけの意味のないコマンドで、別のコマンドでも構いません。

タイトルとURLをコピーしました