.\" -*- coding: UTF-8 -*- .\" -*- nroff -*- .ig Copyright (c) 1999-2024 Philip Hands 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 . .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 .