Відповіді:
Поставте команди ~/.bashrc
. Все, що там знаходиться, виконується кожного разу при вході в систему.
Якщо вам потрібні команди для запуску лише під час входу через ssh (але не при фізичному вході в систему), ви, ймовірно, можете перевірити наявність SSH_CONNECTION
змінної середовища і виконувати команди, лише якщо ви виявите, що вона існує.
Просто введіть це в ~ / .bashrc або /etc/bash.bashrc, якщо ви хочете цього для всіх користувачів:
if [[ -n $SSH_CONNECTION ]] ; then
echo "I'm logged in remotely"
fi
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
).