![вход по ssh - выполнить команду - выйти](https://rvso.com/image/515688/%D0%B2%D1%85%D0%BE%D0%B4%20%D0%BF%D0%BE%20ssh%20-%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%83%20-%20%D0%B2%D1%8B%D0%B9%D1%82%D0%B8.png)
есть ли способ просто выполнить команду (или скрипт) при входе пользователя (ssh) и затем выйти? что-то вроде замены оболочки по умолчанию на пользовательский скрипт.
Я хочу, чтобы пользователь мог только перезапустить службу, но не имел обычного доступа к оболочке.
Спасибо
решение1
Вы хотите сделать это, используя ключи ssh и задав команду, связанную с ключом в файле .ssh/authorized_keys пользователя. Быстрый поиск в Google дает мнеэтот, в частности раздел «Принудительное управление».
Редактировать: Вторая часть этого предназначена для passwd -l
пользователя, чтобы сделать вход в систему на основе пароля невозможным.
решение2
В Ubuntu мне удалось создать скрипт, который перезапускал службу. Затем в записи пользователя /etc/passwd я установил скрипт в качестве оболочки входа (последнее поле).
из /etc/passwd:
testaccount:x:1001:1001:1,,:/home/testaccount:/home/testaccount/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