Как выполнить скрипт на удаленном сервере после ввода через SSH

выполнить в командной строке И поместить в свой ~ / .profile (или ~ / .bash_profile или что-то другое, подходящее для вашей оболочки) следующее:

EDITOR='/bin/vi'
VISUAL='/bin/vi'
export EDITOR VISUAL

В зависимости от вашей оболочки вы можете даже сделать что-то вроде этого:

EDITOR=$(type -p vim || type -p vi || type -p nvi)
VISUAL="$EDITOR"
export EDITOR VISUAL
1
26.07.2018, 21:40
2 ответа

Это довольно просто:

ssh user@10.0.0.7 'bash -s' < local_bash_script.sh

После выполнения скрипта local_bash_script.shсессия ssh -будет немедленно закрыта.

Обновление.

Если вы хотите выполнить что-то на удаленном сервере после входа в систему по ssh, просто создайте файл ssh rc. Создайте на удаленном сервереrcфайл внутри пользовательского каталога .ssh:

touch ~/.ssh/rc

Откройте файл с помощью вашего любимого текстового редактора, например nano:

nano ~/.ssh/rc

и скопируйте/вставьте содержимое файла сценария:

#/bin/sh

date
whoami
uname -r

exit 0

Каждый раз при входе в систему будет выполняться скрипт (замените date, whoami, uname -rна ваши команды ).

Скрипт ~/.ssh/rcбудет выполняться для определенного пользователя, который является владельцем каталога, в котором находится файл rc. Если вы хотите выполнить сценарий rcдля всех пользователей на удаленном сервере, создайте еще один глобальный файл sshrc:

.
/etc/ssh/sshrc

Вот и все.

0
28.01.2020, 00:31

Добавьте необходимые команды в свой ~/.bashrc.

В этом случае вы должны проверить значение SSH_CLIENT/ SSH_TTY, чтобы определить, подключены ли вы через ssh.

if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then... ; fi

Проверить Как определить, управляется ли оболочка через SSH? подробнее

0
28.01.2020, 00:31

Теги

Похожие вопросы