![sshログイン - コマンドを実行 - 終了](https://rvso.com/image/515688/ssh%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%20-%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%20-%20%E7%B5%82%E4%BA%86.png)
ユーザー (ssh) ログイン時にコマンド (またはスクリプト) を実行して終了する方法はありますか? デフォルトのシェルをカスタム スクリプトに置き換えるような方法もあります。
ユーザーにサービスの再起動のみを許可し、通常のシェルアクセスは許可しないようにしたい
ありがとう
答え1
これを実行するには、SSHキーを使用し、ユーザーの.ssh/authorized_keysファイルにキーに関連付けられたコマンドを設定します。Googleで簡単に検索すると、これ具体的には、「強制コマンド」セクションです。
編集: この 2 番目の部分はpasswd -l
、パスワードベースのログインが不可能になるようにユーザーに対して行われます。
答え2
Ubuntu では、サービスを再起動するスクリプトを作成できました。次に、ユーザーの /etc/passwd エントリで、スクリプトをログイン シェル (最後のフィールド) として設定しました。
/etc/passwd から:
テストアカウント:x:1001:1001:1,,:/home/テストアカウント:/home/テストアカウント/login.sh
答え3
そんな感じ?
root@admin:~ # ssh root@www 'df -h'
Filesystem Size Used Avail Use% Mounted on
/dev/ubda 3.5G 2.1G 1.4G 61% /
tmpfs 96M 4.0K 96M 1% /dev/shm