回答:
コマンドをに配置し~/.bashrc
ます。そこにあるものはすべて、ログインするたびに実行されます。
sshを介してログインするときにのみ実行するコマンドが必要な場合(物理的にログインするときは必要ない)、SSH_CONNECTION
環境変数の存在をテストし、環境変数が存在する場合にのみ実行することができます。
これをすべてのユーザーに適用したい場合は、これを〜/ .bashrcまたは/etc/bash.bashrcに入れてください。
if [[ -n $SSH_CONNECTION ]] ; then
echo "I'm logged in remotely"
fi
screen
あなたの答えを使用してscreen
そこに置くことができます。これに関する問題は、screenセッションを終了すると、ログアウトする代わりにSSHプロンプトに戻ることです。ただし、このコメントを書き出すだけで答えが得られました。logout
コマンドの後にscreen
コマンドを追加します。
exec command
は、現在のシェルを実行したものに置き換えます。
または、次の呼び出し中に実行するコマンドを指定できますssh
。
$ ssh -t server 'cmd; exec bash -l'
リストの最後のコマンドは、優先シェルでインタラクティブセッションを開始する必要があります。実行するコマンドが多い場合は、SSHサーバーにスクリプトファイルを作成することを検討してください。
実際に~/.ssh/rc
したときに実行するコマンドを追加するための適切な場所であるあなたは、むしろシステムの任意のユーザよりも、ログインします。
~/.ssh/rc
Commands in this file are executed by ssh when the user logs in,
just before the user's shell (or command) is started. See the
sshd(8) manual page for more information.
man bash
)。