Archive for Lipiec, 2010

Kodowanie polskich znaków w LaTeXu

Po ustawieniu kodowania pliku pisanego w LaTeXu na UTF8 genralnie nie ma problemów z polskimi znakami występującymi w treści prezentacji. Jednak zdarzało mi się, że występowały kłopoty jeżeli polskie znaki występowały np. w tytułach nagłówku, we właściwościach pliku PDF. Aby się one wyświetlił poprawnie, trzeba było je zapisać w formie zakodowanej.

Poniżej znajduje się tabela, w której znajdują się informacje jak zapisać poprawnie polskie znaki w formie zakodowanej:

Polska litera Kod TeX Polska litera Kod TeX
ą \k{a} Ą \k{A}
ć \'c Ć \'C
ę \k{e} Ę \k{E}
ł \l{} Ł \L{}
ń \'n Ń \'N
ó \'o Ó \'O
ś \'s Ś \'S
ż \.z Ż \.Z
ź \'z Ź \'Z

Źródła

Tags: , , ,

Automatyczna kompilacja pliku LaTeX, czyli o monitorowaniu zmian w plikach

Spotkałem się z następującym problemem: w momencie wykonania modyfikacji pewnych plików lub katalogów chciałem wykonać określoną akcję. W moim przypadku chodzi o automatyczne utworzenie pliku PDF na podstawie plików źródłowych stworzonych w LaTeXu.

W przypadku Linuksa mamy do dyspozycji podsystem jądra o nazwie inotify, który pozwala na powiadamianie aplikacji o różnych zmianach mających miejsce w ramach systemu plików. Ponieważ jest to moduł pracujący w przestrzeni jądra systemu, nie ma potrzeby skanowania systemu plików w celu poszukiwania zmian. Wystarczy jedynie zarejestrować aplikację, podać jakie zdarzenia i pliki (czy też katalogi) mają być monitorowane i o resztę będzie się troszczyć sam systemu operacyjny.

Oczywiście, to że jądro udostępnia jakąś usługę i istnieją odpowiednie biblioteki systemowe nie rozwiązuje problemu (chyba że piszemy własną aplikację). Znalazłem dwie aplikacje, które działają w przestrzeni użytkownika i pozwalają na wykorzystanie inotify:

  • incron – narzędzie to przypomina trochę crona, do działania wymaga zainstalowanego serwera oraz klienta w którym będzie można definiować reguły monitorowania i postępowania z plikami, pozwala ono na zdefiniowanie zarówno co ma być monitorowane o raz jakie akcje (np. jakie skrypty uruchomić) w momencie wykrycia zmian w systemie plików
  • inotify-tools – dwa polecenie, z których jedno pozwoli wyświetlić informacje statystyczne o modyfikacjach w systemie plików (inotifywatch), a drugie wyświetli informacje o zmodyfikowanych plikach (inotifywait)

W moim przypadku incron jest za dużym rozwiązaniem, nie potrzebują także ciągłego monitorowania wybranych katalogów, jedynie na czas pracy z LaTeXem. Idealnym rozwiązaniem okazało się użycie polecenia inotifywait. Nasłuchuje ono na zamiany w wybranych plikach czy katalogach i w momencie ich wystąpienia kończy swoje działanie jednocześnie wyświetlając informacje o tym, co zostało zmienione. Posiada także możliwość pracy w trybie ciągłego nasłuchiwania, czyli informuje nas o zmianach bez kończenia działania, ale tutaj funkcja ta nie będzie potrzebna.

Więc czas na konkrety: instalacja pakietu w Ubuntu:

# aptitude install inotify-tools

Teraz czas na mały skrypt, który będzie odpowiedzialny za uruchomienie nasłuchiwania oraz wykonywanie odpowiednich poleceń:

1
2
3
4
5
6
7
8
9
#!/bin/bash

MONITOR_COMMAND="inotifywait -q -e modify  --format '%w%f' --excludei '.*temp.*' ."

while true
do
        OUTPUT=`$MONITOR_COMMAND` && \
                pdflatex -output-directory=out main.tex
done;

Skrypt robi:

  • linia 3 – definicja wywoływania polecenia inotifywait:
    • -q – tryb cichy, nie wyświetla zbędnych informacji
    • -e modify – lista monitorowanych zdarzeń na plikach, tutaj tylko modyfikacja plików, ale można monitorować np. dostęp do nich, tworzenie, usuwanie, przenoszenie, zmiany metadanych
    • --format '%w%f' – format, w jakim ma być wyświetlona informacje o tym co się zmieniło, w tym przypadku nazwa pliku wraz z katalogiem, w którym się on znajduje
    • --excludei '.*temp.*' – jakich plików nie brać pod uwagę
  • linia 5 – rozpoczęcie pętli, nieskończonej
  • linia 7 – wywołanie polecenia inotifywait, polecenie to skończy działanie dopiero jak wykryje jakieś zmiany w monitorowanych plikach
  • linia 8 – wywołanie akcji, w moim przypadku kompilacja raportu

W zmiennej $OUTPUT znajdzie się lista zmodyfikowanych plików, więc w razie potrzeb można na niej wykonać określone akcje.

Skrypt ten będzie działał w nieskończoność, do momentu przerwania jego wykonywania. Dzięki niemu można mieć podgląd wygenerowanych dokumentów LaTeX prawie w czasie rzeczywistym.

Źródła

Tags: , , , , , ,

Tworzenie prezentacji przy użyciu LaTeX cz. 2: tworzenie struktury prezentacji

Po konfiguracji podstawowych narzędzi przyszedł czas na stworzenie prezentacji.

Proces tworzenia prezentacji można podzielić na kilka kroków:

  1. Utworzenie odpowiednich plików tekstowych i zdefiniowanie podstawowych parametrów prezentacji.
  2. Utworzenie struktury prezentacji.
  3. Utworzenie dokumentu PDF.
  4. Utworzenie poszczególnych slajdów.
  5. Dodanie dodatkowych informacji do slajdów.
  6. Utworzenie podręcznika, składającego się ze slajdów i notatek.

Wszystkie te punkty postaram się omówić w kolejnych wpisach, teraz zajmę się punktami 1, 2 i 3.

Utworzenie pliku z prezentacją

Pierwszym krokiem będzie utworzenie pliku tekstowego, w którym będziemy tworzyć prezentację. I tutaj mała uwaga. Najlepiej dla każdej prezentacji (artykułu) utworzyć osobny katalogu i w nim dopiero utworzyć plik. TeX podczas tworzenia pliku wynikowego tworzy sporo plików tymczasowych, co powoduje dosyć duży bałagan podczas pracy. Plik może mieć dowolną nazwę z rozszerzeniem tex.

W moim przypadku utworzyłem katalog o nazwie Subversion-jak-dziala oraz główny plik o nazwie main.tex.

Czas na zdefiniowanie podstawowych informacji w pliku TeX:

  • Definicja rodzaju dokumentu i klasy, która będzie odpowiedzialna za jego przetwarzanie. Tutaj definiujemy klasę Beamer, która zostanie użyta do przetwarzania dokumentu.

    Znacznik [t] zmienia domyślne ustawienie slajdu. W domyślnym ustawienie zawartość jest centrowana na środku ekranu, przy użyciu tego przełącznika wymuszamy przesunięcie slajdu do góry. Ustawienie to można zmienić potem w ramach pojedynczych slajdów (używając przełącznika [c]).

    1
    2
    % Rodzaj dokumentu
    \documentclass[t]{beamer}
  • Konfiguracja kodowania pliku i wprowadzanych znaków, włączenie UTF8.
    4
    5
    6
    % Wsparcie dla kodowania UTF
    \usepackage{ucs}
    \usepackage[utf8x]{inputenc
    }
  • Włączenie języka polskiego (czyli m.in. tłumaczenie stałych części prezentacji)
    8
    9
    10
    % Konfiguracja języka polskiego
    \usepackage[polish]{babel}
    \usepackage{polski
    }
  • Sposób kodowania czcionek
    13
    14
    % Konfiguracja kodowania czcionki
    \usepackage[T1]{fontenc}
  • Konfiguracja wyświetlania zarówno linków jak właściwości w dokumencie PDF. Jeżeli opcja unicode nie zostanie włączona, we właściwościach pliku PDF zamiast polskich znaków będą występować kwadraty. Nie ma to wpływu na samą prezentację.

    Domyślnie linki wyświetlana są przy użyciu czcionki o stałej szerokości znaków, zachowanie to można zmienić przy użyciu komendy urlstyle.

    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    % Konfiguracja sposobu wyświetlania linków w dokumencie
    \usepackage{hyperref}

    \hypersetup{
      % Włączenie tej opcji spowodowało poprawne wyświetlanie polskich literek we
      % właściwościach dokumentu PDF
      unicode=true,          % non-Latin characters in Acrobat’s bookmarks
      colorlinks=true,       % false: boxed links; true: colored links
    }
    % Wyświetlanie linków zwykłą czcionką
    \urlstyle{same}
  • Wybranie tematu, jaki ma zostać wykorzystany do tworzenia prezentacji. Nazwy tematów pochodzą od nazw rożnych miast. Lista dostępnych tematów jest dostępna na stronie Beamer Theme Matrix.
    28
    29
    % Domyślny temat używany do tworzenia prezentacji
    \usetheme{Warsaw}
  • Konfiguracja metryki dokumentu. Będzie ona później wykorzystana do tworzenia strony tytułowej.

    Definicja autora. Wartość w nawiasach kwadratowych to krótka nazwa autora (wykorzystywana w niektórych miejscach w szablonie), nazwa w nawiasach klamrowych to długa nazwa, tutaj podana łącznie z adresem mailowych. Adres mailowy jest zapisany przy użyciu czcionki o stałej szerokości znaków. We właściwościach należy zakodować odpowiednie polskie literki, jeżeli nie zrobimy tego, to w dokumencie PDF mogą pojawić się dziwne wartości (niezależnie od konfiguracji polskich liter). W tym wpisie Kodowanie polskich znaków w LaTeXu można znaleźć informacje o sposobach zapisywania polskich znaków.

    31
    32
    % Informacje o dokumencie
    \author[\L{}ukasz Stelmach]{\L{}ukasz Stelmach \\ \texttt{lstelmach@gmail.com}}

    Definicja tytułu prezentacji, również nazwy krótkiej i długiej, można także zdefiniować podtytuł:

    33
    34
    \title[Subversion]{Subversion - jak dzia\l{}a}
    \subtitle{Kr\'otka instrukcja obs\l{}ugi
    }

    Nazwa firmy (instytutu) twórcy prezentacji:

    35
    \institute{Stelmisoft}

    Data i miejsce powstania prezentacji:

    36
    \date{12/07/2010}

Tak wygląda budowa nagłówku dokumentu, definiująca zarówno podstawowe informacje o nim jak i jego wygląd.

Struktura prezentacji

Mamy już zdefiniowane podstawowe informacje o dokumencie, czas na rozpoczęcie pracy nad zawartością prezentacji. Zanim przystąpimy do tworzenia poszczególnych slajdów, należy zastanowić się nad konstrukcją samej prezentacji. Czyli po prostu trzeba zapisać to, co się chce powiedzieć.

Pierwszym elementem będzie rozpoczęcie tworzenia dokumentu za pomocą konstrukcji:

38
\begin{document}

Dokument kończymy taką komendą:

111
\end{document}

Wszystko co znajdzie się pomiędzy tymi tagami będzie traktowane jako część prezentacji (w pewnym uproszczeniu przynajmniej).

Pierwszym slajdem jaki utworzymy będzie strona tytułowa:

40
41
42
\begin{frame}
  \titlepage
\end{frame
}

Jak widać, dużo nie trzeba, a wygenerowana zostanie taka strona:

Subversion - Strona tytułowa prezentacji

Subversion - Strona tytułowa prezentacji

Jak można zauważyć, nowy slajd rozpoczynamy przy użyciu polecenia \begin{frame}. To co nastąpi po nim, mówi o wyglądzie slajdu. Polecenie \titlepage spowodowało wygenerowanie strony tytułowej opartej o podane wcześniej informacje, czyli autor, tytuł prezentacji i tak dalej.

Kolejnym elementem będzie zdefiniowanie struktury prezentacji, czyli podzielenie jej na szereg punktów i podpunktów. Pozwoli to na zaplanowanie prawidłowego przepływu informacji w prezentacji oraz umożliwi potem automatyczne generowanie spisu treści.

Do definicji podziału prezentacji na części dysponujemy trzema poleceniami: \section, \subsection oraz subsubsection. Korzystanie z ostatniego nie jest zalecenie, więc więcej się nim zajmować nie będziemy. Definicja pierwszej sekcji:

44
\section*{Spis treści}

W nawiasach klamrowych umieszczamy nazwę sekcji, która jednocześnie później pojawi się w generowanym spisie treści. Mała uwaga, umieszczenie znaku * powoduje, że ta konkretnie definicja sekcji akurat nie będzie brana pod uwagę podczas tworzenia spisu treści.

A oto jak można zdefiniować odpowiedni slajd ze automatycznym spisem treści:

46
47
48
49
\begin{frame}
    \frametitle{Spis treści}
    \tableofcontents[pausesections,hideallsubsections]
\end{frame
}

W definicji tej pojawiło się kilka nowych elementów. Polecenie \frametitle umożliwia zdefiniowanie tytułu slajdu. Istnieje także dodatkowe polecenie pozwalające na podanie podtytułu: \framesubtitle. Drugim poleceniem jest utworzenie spisu treści: \tableofcontents. Polecenie to dysponuje szeregiem opcji konfiguracyjnych, tutaj zostały wykorzystane dwie:

  • pausesections – powoduje, że każdy punkt będzie wyświetlany oddzielnie i w praktyce powoduje wygenerowanie dodatkowych stron w dokumencie PDF
  • hideallsubsections – w spisie treści nie zostaną uwzględnione podsekcje, czyli będzie zawierał tylko główne punkty prezentacji

Teraz jeszcze jeden przykład: definicja sekcji łącznie z podsekcjami oraz wyświetlenie spisu treści tylko dla danej sekcji:

61
62
63
64
65
66
67
68
\section{Modele współdzielenia plików}
\begin{frame}
    \frametitle{Spis treści}
    \tableofcontents[currentsection,hideothersubsections,sections={<2-4| handout:0>}]
\end{frame}
\subsection{Proste współdzielenie plików}
\subsection{Zablokuj - zmodyfikuj - odblokuj}
\subsection{Kopiuj - modyfikuj - scal
}

Jak widać mamy tutaj definicję sekcji, następnie slajdu ze spisem treści i kolejne podsekcje. Pojawiają się także nowe parametry polecenia cci_latex]\tableofcontents[/cci_latex]:

  • currentsection – powoduje, że wszystkie sekcje poza aktualną będę wyświetlone bardziej wyblakłym kolorem, czyli aktualna sekcja zostanie zaakcentowana
  • hideothersubsections – zostaną wyświetlone wszystkie podsekcje tylko aktualnej sekcji
  • sections={<2-4| handout:0>} – wyświetli tylko wybrane sekcje w spisie treści, pomocne gdy punktów jest dużo i nie mieszczą sie na ekranie

A tak to się będzie prezentować:

Subversion - spis treści sekcji

Subversion - spis treści sekcji

Oto pełna postać pliku: main.tex

Utworzenie pliku PDF

Ostatnim elementem w tej części będzie utworzenie pliku PDF z prezentacją, tak abyśmy mogli sprawdzić jak wygląda szkielet szablonu. Jeżeli korzystasz z jakiegoś środowiska pracy z plikami TeX, to możesz użyć jego poleceń w celu kompilacji pliku a następnie wyświetlenia go w czytniku plików.

Drugim sposobem jest wydanie polecenia:

$ pdflatex main.tex

Wygeneruje ono szereg plików tymczasowych oraz wynikowy plik PDF.

Jeszcze mała uwaga: aby poprawnie stworzyć strukturę prezentacji w pliku PDF, będzie trzeba przynajmniej dwukrotnie wykonać kompilację plików źródłowych.

Po tych krokach powinniśmy dysponować pikiem main.pdf. Można w pliku sprawdzić, jak wygląda struktura prezentacji.

Istnieje także możliwość utworzenia wszystkich plików tymczasowych w wybranym katalogu, dzięki czemu będziemy mieli trochę większy porządek w katalogu z prezentacją. Poniższe polecenie wszystkie pliki tymczasowe (łącznie z plikiem PDF utworzy w katalogu out):

$ pdflatex -output-directory=out/ main.tex

Źródła

Tags: , , , , , , ,

Tworzenie prezentacji przy użyciu LaTeX cz. 1: konfiguracja środowiska

Ostatnio stanęło przede mną takie zadanie: przygotowanie materiałów na szkolenie, które będę się składały z takich elementów jak:

  • slajdy, wg których będzie prowadzony wykład
  • podręcznik – będzie on zawierał prezentacją wraz z dodatkowymi informacjami znajdującymi się pod nimi oraz różne dodatkowe materiały (takie jak ćwiczenia, dodatkowe informacje)

Zrobienie prezentacji nie sprawia wiele problemów, istnieje wiele narzędzi które radzą sobie z tym całkiem dobrze (czyli OpenOffice Presentation, MS PowerPoint, Google Presentation). Problem jednak pojawia się, gdy chcemy rozszerzyć prezentację o dodatkowe elementy. W każdym z tych narzędzi istnieje możliwość robienia notatek, ale problemy się pojawiają gdy chcemy użyć bardziej skomplikowanego formatowania, wstawić obrazek czy też opis wraz ze slajdem przestaje się mieścić na jednej stronie.

Można oczywiście oddzielnie utrzymywać prezentację oraz podręcznik, ale nie jest to wygodne i zwiększa ilość pracy potrzebnej do utrzymania aktualności materiałów. Nie znalazłem żadnego rozwiązania opartego o aplikację do prezentacji lub też procesor tekstu pozwalającego na jednoczesne tworzenie prezentacji i towarzyszących materiałów.

Na szczęście przypomniałem sobie o czymś takim jak LaTeX :). I tutaj rozwiązanie pojawiło się od razu: LaTeX plus biblioteka Beamer – pozwala na zrobienie dokładnie tego, co chciałbym uzyskać. Oczywiście, pozostaje jeszcze jeden detal: nauczyć się LaTeXa.

W paru kolejnych wpisach przedstawię, w jaki sposób można utworzyć prezentację wraz z dodatkowymi materiałami przy użyciu tych narzędzi. Proszę jednak pamiętać o kilku sprawach:

  • jest to moje pierwsze spotkanie ze światem TeXa
  • będę się koncentrował tyko na wybranym celu: utworzeniu prezentacji
  • jeżeli także nie widziałeś TeXa czy LaTeXa na oczy wcześniej, przejrzyj kilka tutoriali na ten temat, na pewno ułatwią dalszą pracę

Instalacja LaTeXa

Po przydługim wstępie czas na konfigurację systemu, czyli instalacje niezbędnych pakietów.

Pierwszym krokiem będzie instalacja środowiska LaTeXa wraz z klasą Beamer. W przypadku Ubuntu (i pewnie Debiana) sprowadza się to wydania takiej komendy:

# aptitude install latex-beamer

Zainstaluje to niezbędne pakiety potrzebne do korzystania z TeXa i LaTeXa.

Aplikacje pozwalając na pracę z LaTexem

Sam w sobie TeX opisuje stronę przy użyciu poleceń tekstowych, więc to edycji plików można używać zwykłego edytora tekstu, a następnie odpowiednio konwertować je do wynikowego pliku PDF. Poleceń służących do tego celu jest kilka, można je znaleźć w artykułach poświęconych LaTeXowi.

Istnieją także środowiska pozwalające na pracę w środowisku LaTeX i automatyzującymi wiele rzeczy.

LyX

Instalacja tego edytora odbywa się następująco:

# aptitude install lyx

Za Wikipedią:

LyX – edytor do systemu składu tekstu LaTeX. Przeznaczony jest dla użytkowników, którzy oczekują wysokiej jakości składu tekstu i wygody podczas pisania. LyX pozwala autorowi skupić się na treści i logicznej strukturze dokumentu. Wyglądem dokumentu zajmuje się w tle LaTeX, który faktycznie składa tekst w akapity i strony.

Korzystałem z niego przez chwilę, i faktycznie łatwo można w nim tworzyć dokumenty. Jednak ja wolę (przynajmniej na razie) rozwiązanie, które nie separuje mnie tak bardzo od źródeł, i nie dodaje dodatkowych elementów których znaczenia nie znam

TeXlipse

Wtyczka do środowiska Eclipse pomagająca w tworzeniu dokumentów TeXa. Ponieważ lubię i znam Eclipsa, bardzo mi się ona podobała, z problemami się nie spotkałem.

Jednak ma jedną wadę (a przynajmniej nie wiem jak obejść ten problem): jeżeli edytujemy dokument składający się z wielu plików, pojawia się masą błędów w dokumentach zależnych. Każdy plik jest traktowany całkowicie oddzielnie, co w takiej sytuacji utrudnia bardzo pracę.

Ale ma szereg innych zalet (poza oczywiście podstawowymi możliwościami związanymi z edycją dokumentów):

  • pozwala na oddzielenie źródeł projektu, plików tymczasowych oraz wynikowych, mogą one być zapisywane w różnych katalogach
  • automatycznie kompiluje modyfikowany plik w momencie jego zapisywania i tworzy plik wynikowy, co w połączeniu np. z przeglądarką PDF Okular pozwala na podgląd wyglądu prezentacji praktycznie w czasie rzeczywistym (Okular sprawdza automatycznie czy otwarty plik PDF nie został zmodyfikowany i jeżeli tak, to automatycznie go wczytuje)

Kile

Instalacja w środowisku Ubuntu jest prosta:

aptitude install kile

Za Wikipedią:

Kile jest wygodnym (ang. user friendly) edytorem przeznaczonym do redagowania dokumentów w formacie TeΧ/LaTeX. Działa w graficznym środowisku KDE. Nic nie stoi na przeszkodzie aby z niego korzystać w innych środowiskach graficznych po doinstalowaniu wymaganych do działania bibliotek i zależności.

Kile daje możliwość szybkiego, łatwego i bezpośredniego składania tekstu z wszelkimi zaletami edytora pracującego w środowisku graficznym. Program na licencji GNU GPL.

Ta aplikacja najbardziej mi na razie pasuje. Pozwala na definicję projektu, kompilację źródeł, definicję dokumentu głównego. Czyli daje podstawowe środowisko do pracy i nie trzeba się od razu uczyć wszystkich koniecznych poleceń niezbędnych do kompilacji i tworzenia kodu.

Źródła

Tags: , , , ,

Jak usunąć błędny klucz serwera z pliku known_hosts

Prawdopodobnie każdy, kto korzystał trochę dłużej z SSH spotkał się z podobnym komunikatem, występujący przy próbie połączenia z wybranym serwerem:

$ ssh server.example.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
63:6a:1e:ef:1a:a8:44:c4:46:ce:d1:97:b1:f3:7a:29.
Please contact your system administrator.
Add correct host key in /home/lukasz/.ssh/known_hosts to get rid of this message.
Offending key in /home/lukasz/.ssh/known_hosts:44
RSA host key for server.example.com has changed and you have requested strict checking.
Host key verification failed.

Pojawienie się go może świadczyć o tym że:

  1. Jesteśmy własnie w obiektem ataku Men in the middle (informacja o tym znajduje się w treści komunikatu).
  2. Klucz serwera z którym chcemy się połączyć uległ zmianie (czyli np. jest to inna maszyna, wygenerowano go ponownie).

Jeżeli wiemy, że mamy do czynienia z sytuacją drugą, to będziemy chcieli zaktualizować odpowiedni klucz i dalej łączyć się z wybraną maszyną.

Najprościej odcisk klucza zmienić poprzez usunięcie odpowiedniego wpisu i ponowne połączenie się z wybraną maszyną. Usuwamy klucz na dwa sposoby:

  • przy użyciu polecenia ssh-keygen:
    $ ssh-keygen -R server.example.com

    Polecenie to spowoduje wszystkich wpisów związanych z danym serwerem z pliku ~/.ssh/known_hosts.

  • ręcznie usuwając odpowiednią linijkę z pliku ~/.ssh/known_hosts. Tutaj może pojawić się problem, ponieważ w nowych wersjach SSH nazwy hostów zostały zakodowane przy użyciu funkcji skrótu. Z pomocą przychodzi tutaj powyższy komunikat błędu, pojawia się tam informacja o linii która sprawia problem:
    Offending key in /home/lukasz/.ssh/known_hosts:44

    Czyli wystarczy otworzyć podany plik i usunąć wybraną linie i po sprawie.

Metoda, która się wybierze zależy od nas, ale warto pamiętać o możliwościach polecenia ssh-keygen. Może się przypadać podczas tworzenia skryptów, lub gdy chcemy usunąć informacje wszystkich kluczach skojarzonych z danym serwerem.

Źródła

Tags: , , , ,