.\" -*- coding: UTF-8 -*-
.\"  -*- nroff -*-
.ig
Copyright (c) 1999-2024 Philip Hands <phil@hands.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
..
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.Dd $Mdocdate: June 17 2010 $
.Dt SSH-COPY-ID 1
.Os
.Sh NAZWA
.Nm ssh-copy-id
.Nd używa lokalnie dostępnych kluczy do autoryzacji logowania na zdalnym komputerze
.Sh SKŁADNIA
.Nm ssh-copy-id
.Op Fl f
.Op Fl n
.Op Fl s
.Op Fl x
.Op Fl i Op Ar plik-tożsamości
.Op Fl t Ar ścieżka-docelowa
.Op Fl F Ar konfiguracja-ssh
.Op Bo Fl o Ar opcja-ssh Bc ...
.Op Fl p Ar port
.Op Ar użytkownik Ns @ Ns
.Ar nazwa-stacji
.Nm ssh-copy-id
.Fl h | Fl ?
.br
.Sh OPIS
.Nm ssh-copy-id
jest skryptem korzystającym z
.Xr 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
.Xr 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ą
.Xr ssh 1 ,
włącza logowanie za pomocą tych kluczy
na zdalnym serwerze. Domyślnie dodaje klucze dołączając je do pliku
.Pa ~/.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
.Ql set ssh pka-dsa key ... .
.Pp
Dostępne są następujące opcje:
.Bl -tag -width Ds
.It Fl i Op Ar plik-tożsamości
Używa jedynie klucza/kluczy z
.Ar pliku-tożsamości
(zamiast szukać
tożsamości za pomocą
.Xr ssh-add 1
lub w
.Ic domyślnym-pliku-tożsamości ) .
Jeśli nazwa pliku nie kończy się przyrostkiem
.Pa .pub ,
jest on dodawany. Jeśli nie poda się nazwy pliku, używany jest
w zamian
.Ic domyślny-plik-tożsamości .
.Pp
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.
.It Fl 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.
.It Fl n
wykonuje przebieg próbny. Zamiast instalować klucz(e) na zdalnym systemie
jedynie wypisuje te, które zostałyby zainstalowane.
.It Fl s
Tryb SFTP: klucze publiczne są zwykle instalowane poprzez wykonanie poleceń
po stronie zdalnej. Przy użyciu tej opcji, plik użytkownika
.Pa ~/.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.
.It Fl t Ar ścieżka-docelowa
ścieżka na systemie zdalnym, gdzie mają być dodane klucze (domyślnie
\[Bq].ssh/authorized_keys\[rq]).
.It Fl p Ar port
Określa port na zdalnej stacji, z którym nastąpi połączenie.
.It Fl F Ar konfiguracja-ssh , Fl o Ar opcja-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.
.Pp
Zamiast przekazywać je jako opcje wiersza poleceń, często lepszym
rozwiązaniem jest korzystanie z (przypisanych poszczególnym stacjom)
ustawień w pliku konfiguracyjnym
.Xr ssh 1 :
.Xr ssh_config 5 .
.It Fl x
Opcja służy do debugowania skryptu
.Nm .
Ustawia opcję -x powłoki, dzięki
czemu widać wykonywane polecenia.
.It Fl h , Fl ?
Wypisuje krótką pomoc.
.El
.Pp
Domyślnym zachowaniem bez opcji
.Fl i ,
jest sprawdzenie, czy
.Ql 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
.Xr ssh-add 1 ,
gdy klucz był ładowany do
.Xr ssh-agent 1 ,
zamiast komentarz umieszczony w tym pliku, co jest nieco
niefortunne. W innym przypadku, jeśli
.Xr ssh-add 1
nie poda żadnych
kluczy, zostanie użyta zawartość
.Ic domyślnego-pliku-tożsamości .
.Pp
.Ic Domyślnym-plikiem-tożsamości
jest najnowszy plik, który pasuje do
wzorca
.Pa ~/.ssh/id*.pub
(z wyjątkiem pasujących do wzorca
.Pa ~/.ssh/*-cert.pub ) ,
tak więc jeśli utworzy się klucz, który ma nie być
wykorzystywany przez
.Nm ssh-copy-id ,
wystarczy wykonać polecenie
.Xr touch 1
na
pliku
.Pa .pub
preferowanego klucza, aby oznaczyć go jako najnowszy.
.Sh 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
.Xr ssh-agent 1 .
Najpierw należy załadować nowy klucz, bez opcji
.Fl 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
.Fl A ,
pozwalającej na przekierowanie agenta:
.Pp
.D1 użytkownik@nowy-klient$ ssh-add
.D1 użytkownik@nowy-klient$ ssh -A stary.klient
.D1 użytkownik@stary$ ssh-add -c
.D1 No ... zapytanie o frazę kodującą ...
.D1 użytkownik@stary$ logoff
.D1 użytkownik@nowy-klient$ ssh jakiś-serwer
.Pp
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ć
.Pp
.D1 użytkownik@nowy-klient$ ssh-copy-id -i jakiś-serwer
.Pp
Powodem, dla którego można zechcieć podać tu opcję
.Fl i
jest upewnienie
się, że komentarzem w instalowanym kluczu jest ten z pliku
.Pa .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
.Xr ssh-agent 1 .
Oczywiście można podać inny identyfikator, albo skorzystać z
zawartości
.Xr ssh-agent 1 ,
jeśli taka jest wola użytkownika.
.Pp
Jeśli wspomnieliśmy o opcji
.Fl c
.Xr 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
.Ar ProxyCommand
i
opcji
.Fl W
.Xr 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
.Xr ssh-agent 1
użytkownika. Proszę poszukać w Internecie wyrażenia \[Bq]ssh
proxycommand nc\[rq], aby dowiedzieć się więcej (przy okazji: współcześnie
powinno się korzystać z opcji
.Fl W ,
zamiast
.Xr nc 1 ) .
.Sh "ZOBACZ TAKŻE"
.Xr ssh 1 ,
.Xr ssh-agent 1 ,
.Xr sshd 8
.Pp
.Sh TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Michał Kułach <michal.kulach@gmail.com>
.
.Pp
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.Lk https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.Pp
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.Mt manpages-pl-list@lists.sourceforge.net
.Me .
