SSH-COPY-ID(1) General Commands Manual SSH-COPY-ID(1) NAZWA ssh-copy-id - uzywa lokalnie dostepnych kluczy do autoryzacji logowania na zdalnym komputerze SKLADNIA ssh-copy-id [-f] [-n] [-s] [-x] [-i [plik-tozsamosci]] [-t sciezka-docelowa] [-F konfiguracja-ssh] [[-o opcja-ssh] ...] [-p port] [uzytkownik@]nazwa-stacji ssh-copy-id -h | -? OPIS ssh-copy-id jest skryptem korzystajacym z ssh(1) do zalogowania sie na zdalnym komputerze (prawdopodobnie za pomoca hasla logowania, zatem uwierzytelnianie haslem powinno byc wlaczone, chyba ze sprytnie wykorzysta sie rozne tozsamosci). Tworzy liste jednego lub wiecej odciskow palcow (jak to opisano ponizej) i probuje dokonac logowania za pomoca kazdego z kluczy, sprawdzajac, czy jakis jest juz ainstalowany (oczywiscie, jesli nie korzysta sie z ssh-agent(1), moze to prowadzic do wielokrotnej koniecznosci wprowadzania hasla). Nastepnie tworzy liste z tych, ktorymi nie udalo sie zalogowac i, za pomoca ssh(1), wlacza logowanie za pomoca tych kluczy na zdalnym serwerze. Domyslnie dodaje klucze dolaczajac je do pliku ~/.ssh/authorized_keys zdalnego uzytkownika (tworzac plik i katalog, jesli to konieczne). Potrafi rowniez wykryc, czy zdalny system to NetScreen i wykorzystac wowczas w zamian polecenie `set ssh pka-dsa key ...'. Dostepne sa nastepujace opcje: -i [plik-tozsamosci] Uzywa jedynie klucza/kluczy z pliku-tozsamosci (zamiast szukac tozsamosci za pomoca ssh-add(1) lub w domyslnym-pliku-tozsamosci). Jesli nazwa pliku nie konczy sie przyrostkiem .pub, jest on dodawany. Jesli nie poda sie nazwy pliku, uzywany jest w zamian domyslny-plik-tozsamosci. Prosze zauwazyc, ze w ten sposob mozna zapewnic sie, ze skopiowane klucze maja taki komentarz, jaki sie preferuje i/lub dodane dodatkowe opcje, poprzez upewnienie sie, ze dany plik klucza ma je ustawione jako preferowane, przed dokonaniem kopiowania. -f Tryb wymuszony: nie sprawdza, czy klucze sa obecne na zdalnym serwerze. Oznacza to, ze nie jest wymagany klucz prywatny. Oczywiscie moze to doprowadzic do instalacji wiecej niz jednej kopii klucza na zdalnym systemie. -n wykonuje przebieg probny. Zamiast instalowac klucz(e) na zdalnym systemie jedynie wypisuje te, ktore zostalyby zainstalowane. -s Tryb SFTP: klucze publiczne sa zwykle instalowane poprzez wykonanie polecen po stronie zdalnej. Przy uzyciu tej opcji, plik uzytkownika ~/.ssh/authorized_keys zostanie pobrany, zmodyfikowany lokalnie i przeslany za pomoca zftp. Opcja niniejsza jest przydatna, jesli serwer posiada ograniczenia wobec polecen, jakie moga byc wykonane po stronie zdalnej. -t sciezka-docelowa sciezka na systemie zdalnym, gdzie maja byc dodane klucze (domyslnie ,,.ssh/authorized_keys"). -p port Okresla port na zdalnej stacji, z ktorym nastapi polaczenie. -F konfiguracja-ssh, -o opcja-ssh Opcje te sa przekazywane bez zadnej modyfikacji (wraz z argumentami) do ssh/sftp, pozwalajac na ustawienie, odpowiednio, alternatywnego pliku konfiguracyjnego lub innych opcji. Zamiast przekazywac je jako opcje wiersza polecen, czesto lepszym rozwiazaniem jest korzystanie z (przypisanych poszczegolnym stacjom) ustawien w pliku konfiguracyjnym ssh(1): ssh_config(5). -x Opcja sluzy do debugowania skryptu ssh-copy-id. Ustawia opcje -x powloki, dzieki czemu widac wykonywane polecenia. -h, -? Wypisuje krotka pomoc. Domyslnym zachowaniem bez opcji -i, jest sprawdzenie, czy `ssh-add -L' daje jakis wynik i jesli tak jest, uzywane sa wypisane w ten sposob klucze. Prosze zauwazyc, ze w ten sposob komentarzem klucza stanie sie nazwa pliku podana ssh-add(1), gdy klucz byl ladowany do ssh-agent(1), zamiast komentarz umieszczony w tym pliku, co jest nieco niefortunne. W innym przypadku, jesli ssh-add(1) nie poda zadnych kluczy, zostanie uzyta zawartosc domyslnego-pliku-tozsamosci. Domyslnym-plikiem-tozsamosci jest najnowszy plik, ktory pasuje do wzorca ~/.ssh/id*.pub (z wyjatkiem pasujacych do wzorca ~/.ssh/*-cert.pub), tak wiec jesli utworzy sie klucz, ktory ma nie byc wykorzystywany przez ssh-copy-id, wystarczy wykonac polecenie touch(1) na pliku .pub preferowanego klucza, aby oznaczyc go jako najnowszy. PRZYKLADY Jesli juz zainstalowano klucze z jednego systemu na wielu zdalnych stacjach, a nastepnie utworzono nowy klucz, na nowej stacji klienckiej, utrudnione moze byc sledzenie, na ktorych systemach zainstalowano nowy klucz. Jednym ze sposobow na radzenie sobie z ta uciazliwoscia jest zaladowanie zarowno nowego klucza jak i starych kluczy do swojego programu ssh-agent(1). Najpierw nalezy zaladowac nowy klucz, bez opcji -c, a nastepnie jeden lub wiecej starych kluczy, na przyklad za pomoca polaczenia ssh ze stacja kliencka ze starym kluczem, korzystajac z opcji -A, pozwalajacej na przekierowanie agenta: uzytkownik@nowy-klient$ ssh-add uzytkownik@nowy-klient$ ssh -A stary.klient uzytkownik@stary$ ssh-add -c ... zapytanie o fraze kodujaca ... uzytkownik@stary$ logoff uzytkownik@nowy-klient$ ssh jakis-serwer teraz zatem, jesli nowy klucz zainstalowano na serwerze, dostep nie bedzie wymagal potwierdzenia, natomiast jesli wlaczone bylyby jedynie stare klucze, wyswietli sie zapytanie z prosba o potwierdzenie, co jest wskazowka, ze nalezy sie wylogowac i uruchomic uzytkownik@nowy-klient$ ssh-copy-id -i jakis-serwer Powodem, dla ktorego mozna zechciec podac tu opcje -i jest upewnienie sie, ze komentarzem w instalowanym kluczu jest ten z pliku .pub, a nie jest to jedynie nazwa pliku zaladowanego do agenta. W ten sposob zapewnia sie tez, ze instalowany jest jedynie identyfikator, ktory byl przeznaczony do zainstalowania, a nie wszystkie klucze ze swojego ssh-agent(1). Oczywiscie mozna podac inny identyfikator, albo skorzystac z zawartosci ssh-agent(1), jesli taka jest wola uzytkownika. Jesli wspomnielismy o opcji -c ssh-add(1), mozna rozwazyc uzycie jej przy korzystaniu z przekierowania agenta, aby uniknac przechwycenia klucza, jednak znacznie lepszym wyborem bedzie uzycie ProxyCommand i opcji -W ssh(1), aby przy przeskakiwaniu pomiedzy zdalnymi serwerami zawsze dokonywac bezposredniego uwierzytelnienia typu end-to-end. Dzieki temu serwer(y) posrednie nie uzyskaja dostepu do ssh-agent(1) uzytkownika. Prosze poszukac w Internecie wyrazenia ,,ssh proxycommand nc", aby dowiedziec sie wiecej (przy okazji: wspolczesnie powinno sie korzystac z opcji -W, zamiast nc(1)). ZOBACZ TAKZE ssh(1), ssh-agent(1), sshd(8) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3: https://www.gnu.org/licenses/gpl-3.0.html lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net Linux 6.19.10-arch1-1 June 17, 2010 Linux 6.19.10-arch1-1