table of contents
- trixie-backports 1:4.29.1-1~bpo13+1
- testing 1:4.29.1-1
- unstable 1:4.29.1-1
| SSH-COPY-ID(1) | General Commands Manual | SSH-COPY-ID(1) |
NAZWA¶
ssh-copy-id —
używa lokalnie dostępnych kluczy do
autoryzacji logowania na zdalnym komputerze
SKŁADNIA¶
ssh-copy-id [-f]
[-n] [-s]
[-x] [-i
[plik-tożsamości]]
[-t
ścieżka-docelowa]
[-F konfiguracja-ssh]
[[-o opcja-ssh] ...]
[-p port]
[użytkownik@]nazwa-stacji
ssh-copy-id -h |
-?
OPIS¶
ssh-copy-id jest skryptem
korzystającym z ssh(1) do zalogowania się na
zdalnym komputerze (prawdopodobnie za pomocą hasła logowania,
zatem uwierzytelnianie hasłem powinno być
włączone, chyba że sprytnie wykorzysta się
różne tożsamości). Tworzy listę jednego
lub więcej odcisków palców (jak to opisano
poniżej) i próbuje dokonać logowania za pomocą
każdego z kluczy, sprawdzając, czy jakiś jest
już ainstalowany (oczywiście, jeśli nie korzysta
się z ssh-agent(1), może to prowadzić
do wielokrotnej konieczności wprowadzania hasła).
Następnie tworzy listę z tych, którymi nie udało
się zalogować i, za pomocą ssh(1),
włącza logowanie za pomocą tych kluczy na zdalnym
serwerze. Domyślnie dodaje klucze dołączając je
do pliku ~/.ssh/authorized_keys zdalnego
użytkownika (tworząc plik i katalog, jeśli to
konieczne). Potrafi również wykryć, czy zdalny system
to NetScreen i wykorzystać wówczas w zamian polecenie
‘set ssh pka-dsa key ...’.
Dostępne są następujące opcje:
-i[plik-tożsamości]- Używa jedynie klucza/kluczy z
pliku-tożsamości (zamiast
szukać tożsamości za pomocą
ssh-add(1) lub w
domyślnym-pliku-tożsamości). Jeśli nazwa pliku nie kończy się przyrostkiem .pub, jest on dodawany. Jeśli nie poda się nazwy pliku, używany jest w zamiandomyślny-plik-tożsamości.Proszę zauważyć, że w ten sposób można zapewnić się, że skopiowane klucze mają taki komentarz, jaki się preferuje i/lub dodane dodatkowe opcje, poprzez upewnienie się, że dany plik klucza ma je ustawione jako preferowane, przed dokonaniem kopiowania.
-f- Tryb wymuszony: nie sprawdza, czy klucze są obecne na zdalnym serwerze. Oznacza to, że nie jest wymagany klucz prywatny. Oczywiście może to doprowadzić do instalacji więcej niż jednej kopii klucza na zdalnym systemie.
-n- wykonuje przebieg próbny. Zamiast instalować klucz(e) na zdalnym systemie jedynie wypisuje te, które zostałyby zainstalowane.
-s- Tryb SFTP: klucze publiczne są zwykle instalowane poprzez wykonanie poleceń po stronie zdalnej. Przy użyciu tej opcji, plik użytkownika ~/.ssh/authorized_keys zostanie pobrany, zmodyfikowany lokalnie i przesłany za pomocą zftp. Opcja niniejsza jest przydatna, jeśli serwer posiada ograniczenia wobec poleceń, jakie mogą być wykonane po stronie zdalnej.
-tścieżka-docelowa- ścieżka na systemie zdalnym, gdzie mają być dodane klucze (domyślnie „.ssh/authorized_keys”).
-pport- Określa port na zdalnej stacji, z którym nastąpi połączenie.
-Fkonfiguracja-ssh,-oopcja-ssh- Opcje te są przekazywane bez żadnej modyfikacji (wraz z
argumentami) do ssh/sftp, pozwalając na ustawienie, odpowiednio,
alternatywnego pliku konfiguracyjnego lub innych opcji.
Zamiast przekazywać je jako opcje wiersza poleceń, często lepszym rozwiązaniem jest korzystanie z (przypisanych poszczególnym stacjom) ustawień w pliku konfiguracyjnym ssh(1): ssh_config(5).
-x- Opcja służy do debugowania skryptu
ssh-copy-id. Ustawia opcję -x powłoki, dzięki czemu widać wykonywane polecenia. -h,-?- Wypisuje krótką pomoc.
Domyślnym zachowaniem bez opcji -i,
jest sprawdzenie, czy ‘ssh-add -L’
daje jakiś wynik i jeśli tak jest, używane są
wypisane w ten sposób klucze. Proszę zauważyć,
że w ten sposób komentarzem klucza stanie się nazwa
pliku podana ssh-add(1), gdy klucz był
ładowany do ssh-agent(1), zamiast komentarz
umieszczony w tym pliku, co jest nieco niefortunne. W innym przypadku,
jeśli ssh-add(1) nie poda żadnych kluczy,
zostanie użyta zawartość
domyślnego-pliku-tożsamości.
Domyślnym-plikiem-tożsamości
jest najnowszy plik, który pasuje do wzorca
~/.ssh/id*.pub (z wyjątkiem pasujących
do wzorca ~/.ssh/*-cert.pub), tak więc
jeśli utworzy się klucz, który ma nie być
wykorzystywany przez ssh-copy-id, wystarczy
wykonać polecenie touch(1) na pliku
.pub preferowanego klucza, aby oznaczyć go
jako najnowszy.
PRZYKŁADY¶
Jeśli już zainstalowano klucze z jednego systemu na
wielu zdalnych stacjach, a następnie utworzono nowy klucz, na nowej
stacji klienckiej, utrudnione może być śledzenie, na
których systemach zainstalowano nowy klucz. Jednym ze sposobów
na radzenie sobie z tą uciążliwością jest
załadowanie zarówno nowego klucza jak i starych kluczy do
swojego programu ssh-agent(1). Najpierw należy
załadować nowy klucz, bez opcji -c, a
następnie jeden lub więcej starych kluczy, na przykład
za pomocą połączenia ssh ze stacją
kliencką ze starym kluczem, korzystając z opcji
-A, pozwalającej na przekierowanie
agenta:
teraz zatem, jeśli nowy klucz zainstalowano na serwerze, dostęp nie będzie wymagał potwierdzenia, natomiast jeśli włączone byłyby jedynie stare klucze, wyświetli się zapytanie z prośbą o potwierdzenie, co jest wskazówką, że należy się wylogować i uruchomić
Powodem, dla którego można zechcieć
podać tu opcję -i jest upewnienie
się, że komentarzem w instalowanym kluczu jest ten z pliku
.pub, a nie jest to jedynie nazwa pliku
załadowanego do agenta. W ten sposób zapewnia się
też, że instalowany jest jedynie identyfikator, który
był przeznaczony do zainstalowania, a nie wszystkie klucze ze swojego
ssh-agent(1). Oczywiście można podać
inny identyfikator, albo skorzystać z zawartości
ssh-agent(1), jeśli taka jest wola
użytkownika.
Jeśli wspomnieliśmy o opcji
-c ssh-add(1), można
rozważyć użycie jej przy korzystaniu z przekierowania
agenta, aby uniknąć przechwycenia klucza, jednak znacznie
lepszym wyborem będzie użycie
ProxyCommand i opcji -W
ssh(1), aby przy przeskakiwaniu pomiędzy zdalnymi
serwerami zawsze dokonywać bezpośredniego uwierzytelnienia
typu end-to-end. Dzięki temu serwer(y) pośrednie nie
uzyskają dostępu do ssh-agent(1)
użytkownika. Proszę poszukać w Internecie
wyrażenia „ssh proxycommand nc”, aby dowiedzieć
się więcej (przy okazji: współcześnie
powinno się korzystać z opcji -W,
zamiast nc(1)).
ZOBACZ TAKŻE¶
TŁUMACZENIE¶
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net
| June 17, 2010 | Nixpkgs |