Szukam najlepszego sposobu na wywołanie zdalnego sterowania przez SSH. Tworzę użytkownika „rpcall”, generuję nowy certyfikat i wypełniam klucze autoryzowane. Zabezpiecz go jeszcze bardziej
from="ip",no-agent-forwarding,no-X11-forwarding,no-port-forwarding,no-pty ssh-rsa ......
teraz użytkownik rpcall nie może zalogować się do terminala
ssh -l rpc 192.168.12.1
PTY allocation request failed on channel 0
ale możliwe jest uruchomienie dowolnego polecenia
ssh -l rpc 192.168.12.1 cat /etc/passwd
Czy jest jakieś rozwiązanie, które mogę ograniczyć wykonywanie poleceń tylko do jednego skryptu przetwarzania? Na przykład /home/rpcall/bin/command.sh
Skonfigurowałem powłokę bash dla tego użytkownika i używam skryptu przetwarzania wymuszonego .bashrc, ale nie wiem jak przekazać parametry z wywołania ssh.
.bashrc dla użytkownika rpcall
/home/rpcall/bin/command.sh $params1 $params2
exit
połączenie ssh z innej maszyny
ssh -l rpcall 192.168.12.1 "param1" "param2"
SSH_ORIGINAL_COMMAND
zmiennej środowiskowej. W ten sposób parametry mogą być przekazywane do tego polecenia, wystarczy przeanalizować zmienną środowiskową i wykonać żądaną pracę.