Chciałbym móc skonfigurować polecenie, aby uruchamiało się przy logowaniu ssh na serwerze, bez konieczności jego wpisywania. Zasadniczo szukam pliku konfiguracyjnego ssh odpowiadającego:
Możliwe jest również wstawienie polecenia do pliku autoryzowanych kluczy. ( ~/.ssh/authorized_keys). Umożliwia to wykonanie niestandardowego polecenia dla każdego klawisza w pliku. Używam tego do przekazywania połączeń powłoki przez moją zaporę ogniową. W rezultacie mogę ssh do jednego hosta i automatycznie łączy on sesję z hostem w sieci. authorized_keysWpis wygląda następująco:
command="ssh -Tq <hostname> \"$SSH_ORIGINAL_COMMAND\"",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAA... the rest of the key ...
Mówiąc dokładniej, przekierowanie dotyczy mojej instancji gitolite. Umożliwia to prosty dostęp z zewnątrz bez bezpośredniego narażania hosta gitolite na dostęp z zewnątrz. Sprawdź stronę podręcznika, aby uzyskać więcej informacji. ( http://linux.die.net/man/8/sshd )
To jest niesamowite, nie wiedziałem, że możesz to zrobić. +1
Brian Wigginton
3
Jeśli umieścisz polecenie w pliku uprawnionych kluczy, spowoduje to uszkodzenie takich rzeczy, jak rsync i scp - otrzymasz coś takiego: otwarty terminal nie powiódł się: nie terminal. Pamiętaj też, że jeśli polecenie się nie powiedzie, nie będziesz mógł się zalogować. Odkryłem to na własnej skórze.
Jeśli używasz OpenSSH, wygląda na to
~/.ssh/rc
jest wykonywany po zalogowaniu .źródło
/.ssh/rc
znajduje się na komputerze klienta lub serwera? Wygląda jak z dokumentacji serwera, prawda?rc
wydaje się, że plik nie uruchamia się, np. Pojawiascreen
się błąd „Musi być podłączony do terminala”Możesz ustawić alias bash.
W pliku .bashrc umieść:
Wtedy nie musiałbyś nawet wpisywać nazwy hosta.
Lub jeśli chcesz to zrobić na wielu hostach (i wiele aliasów nie działa), użyj małego skryptu:
źródło
Na zimno rozwiązujesz to w swoim
.ssh/config file
, dla hosta, na którym chcesz wykonać polecenie, dodajgdzie
<some command>
jest twoje polecenie Działa to również z screenem lub tmux.źródło