Mam serwer z SSH działający na niestandardowym porcie. Zamiast 22 działa na 8129. Aby się zalogować, używam:
ssh -p 8129 hostname
Teraz, ilekroć muszę skonfigurować klucz do logowania bez hasła, muszę skopiować klucz publiczny i ręcznie dodać go do uprawnionych kluczy. Odkryłem, że polecenie ssh-copy-id
może być użyte w celu uproszczenia tego procesu, ale wygląda na to, że nie ma opcji określania portu serwera ssh.
Czy jest jakiś sposób na ssh-copy-id
użycie portu 8129, czy powinienem po prostu zapomnieć o tym poleceniu i ręcznie skopiować / wkleić?
ssh
ma składnięssh -p 1234 user@host
,ssh-copy-id "-p 1234 user@host"
a na końcuscp -P 1234 user@host
. Byłoby miło mieć taką samą składnię.rsync -e "ssh -p 1234" user@host
. Przysięgam, że jest to bardziej kłopotliwe niż warto używać niestandardowego portu.ssh-copy-id "[email protected] -p 12345" -i ~/.ssh/id_rsa.pub 192.168.0.100
ssh-copy-id -p 8129 user@host
Pracuje.ssh-copy-id
nie przyjmuje żadnych argumentów, które mógłby przekazać do bazowejssh
komendy, ale można skonfigurować alias w~/.ssh/config
.Potem biegnij
ssh-copy-id myhost
.źródło
-p
flagi przy regularnychssh
próbach. Jest to zatem nie tylko właściwa odpowiedź na to pytanie, ale właściwa rzecz, kropka.Począwszy od openssh-client_6.2 jest teraz dedykowana flaga portu dla polecenia pozwalającego na tę składnię:
Dodano także obsługę dodawania innych opcji ssh z flagą -o.
Oto strona podręcznika użytkownika Ubuntu dla odpowiedniej wersji, wprowadzona w 13.04: http://manpages.ubuntu.com/manpages/saucy/man1/ssh-copy-id.1.html
źródło
Szybkie spojrzenie na źródło wskazuje, że
ssh-copy-id
wydaje się, że nie ma na to żadnej funkcji. Możesz jednak zamiast tego zrobić coś takiego:źródło
To działa ( stąd ):
źródło
Zawsze
scp
go kopiowałem:Chociaż muszę powiedzieć, prawdopodobnie użyję innych metod (linia / połączenie), jeśli je zapamiętam w przyszłości. Ale to kolejna opcja dla Ciebie.
źródło
Na CentOS7 jest po prostu:
Uważaj, aby nie umieszczać user @ host w cudzysłowie, w przeciwnym razie pojawi się następujący błąd:
źródło
W moim systemie macOS to zadziałało.
źródło
Używam tego polecenia:
ssh-copy-id ssh://user@ip_addr:port
Przykład:
ssh-copy-id ssh://[email protected]:23
źródło