Відповіді:
Поставте команди ~/.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).