2009-01-06 10 views
5

Potrzebuję utworzyć skrypt, który automatycznie skonfiguruje tunel SSH. Myślę, że dedykowany klucz ssh bez hasła to dobry początek, ale nie mogłem znaleźć, jeśli to możliwe i jak to zrobić. Ten klucz powinien mieć ograniczone uprawnienia (tylko ustawić tunel w górę), ale potrzebuję innego klucza prywatnego (z hasłem) dla siebie.Utwórz bezsobny pomocniczy klucz ssh do skonfigurowania tunelu ssh

Dzięki!

Odpowiedz

8

Ok, znalazłem odpowiedź.

Po pierwsze, ssh-keygen -f theNewPrivateKey w przeciwnym razie nadpisze stary klucz prywatny. Po drugie, ssh -i theNewPrivateKey [email protected] Opcja -i zmienia klucz prywatny używany do uwierzytelnienia.

Teraz mogę wypróbować mój skrypt.


EDIT: w jaki sposób mój nowy klucz ma ograniczone przywileje:

Podczas kopiowania klucza publicznego do pliku $ HOME/.ssh/authorized_keys2 komputera docelowego, dodałem to:

command="sleep 99999999999" ssh-dss AAAAB3NzaC1kc3MA... 
(+ the rest of the key) 

Jedyna dozwolona komenda to czekać na zawsze. Ponieważ celem stworzenia tego klucza było stworzenie odwrotnego tunelu ssh, powinno to być w porządku. I następnie utworzyć tunel:

ssh -T -R 7878:localhost:22 -i .ssh/mynewkey [email protected] 

Wreszcie mogę się zalogować z mojego domowego komputera:

ssh [email protected] -p7878 

Mam nadzieję, że to nie ma problemów z bezpieczeństwem. Jeśli to źle, daj mi znać!

+1

Jak ten nowy klucz miałby "ograniczone uprawnienia"? – innaM

+1

Ponieważ może zrobić tylko jedno, "spać". – Keltia

+0

Dzięki za claryfying to. – innaM

1

Spróbuj komendy

ssh-keygen

.

+1

Nie zapomnij o opcji -f lub spowoduje to nadpisanie starego klucza prywatnego. – ascobol

0

Miałem podobną sytuację, gdy musiałem zsynchronizować zawartość serwera automatycznie, bez konieczności podawania hasła w moim skrypcie robocopy.

Pomogło mi to Link.

Powiązane problemy