Git mówi " Warning: permanentnie dodany do listy znanych hostów"
Za każdym razem, gdy używam Gita do interakcji z pilotem, na przykład podczas ciągnięcia lub pchania, wyświetlany jest następujący komunikat:
Warning: Permanently added"..."(RSA) do listy znanych gospodarzy.
Jak zapobiec wyświetlaniu tego irytującego komunikatu? To tylko irytacja-wszystko działa poprawnie.
10 answers
Rozwiązanie: Utwórz plik ~/.ssh/config
i Wstaw linię:
UserKnownHostsFile ~/.ssh/known_hosts
Zobaczysz wiadomość przy następnym wejściu na Github, ale potem już jej nie zobaczysz, ponieważ host zostanie dodany do pliku known_hosts
. Rozwiązuje to problem, a nie tylko ukrywa wiadomość dziennika.
~/.ssh/known_hosts
Ssh-vvvvvvvvvvvvvvvvvvvv [email protected]
debug3: check_host_in_hostfile: filename /dev/null
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug3: check_host_in_hostfile: filename /dev/null
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-12 15:22:59
Dodaj następujący wiersz do pliku konfiguracyjnego ssh ($HOME/.ssh/config):
LogLevel=quiet
Jeśli uruchomisz ssh z linii poleceń dodaj następującą opcję Do ciągu poleceń:
-o LogLevel=quiet
Na przykład, poniższe wypisuje wersję gcc zainstalowaną na machine.example.org (i bez ostrzeżenia): {]}
ssh -o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
-o LogLevel=quiet \
-i identity_file \
machine.example.org \
gcc -dumpversion
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-18 15:32:57
Ustaw LogLevel
na ERROR
(nie QUIET
) w pliku ~/.ssh/config
, Aby uniknąć zauważenia tych błędów:
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
LogLevel ERROR
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-15 01:11:46
Ten Komunikat pochodzi z SSH, który ostrzega cię, że łączysz się z hostem, z którym nigdy wcześniej się nie łączyłeś. Nie polecam go wyłączać, ponieważ oznaczałoby to, że możesz przegapić ostrzeżenie o zmianie klucza hosta, co może wskazywać na atak MITM na sesję SSH.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-15 19:31:41
Aby wyłączyć komunikaty ostrzegawcze dla ssh
możesz dodać następujące linie do ~/.ssh/config
:
Host *
LogLevel error
To wyłączy ostrzeżenia, ale nie komunikaty o błędach. Podobnie jak inne ustawienia w ~/.ssh/config
, możesz skonfigurować LogLevel
dla każdego hosta, jeśli chcesz mieć bardziej precyzyjną kontrolę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-03 11:42:52
Oznacza to głównie, że wprowadzono zmiany dla klucza dla tego hosta ~/.ssh/known_hosts
i nie będzie on automatycznie aktualizowany. Dlatego za każdym razem, gdy otrzymasz ten Komunikat ostrzegawczy.
Zdarza się to często w przypadku łączenia się z ponownie utworzonymi maszynami wirtualnymi, które zmieniają klucz o tym samym adresie IP
Rozwiązanie
Jeśli masz tylko jeden wpis, to możesz usunąć plik ~/.ssh/known_hosts
, a po pierwszym połączeniu, że klucz tam będzie, A żadnych komunikatów ostrzegawczych po to.
Jeśli masz kilka wpisów, możesz użyć poniższego polecenia, aby usunąć
$ ssh-keygen -R <hostname>
To działa dobrze dla mnie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-08 03:23:40
Nie ma czystego rozwiązania problemu, który zauważyłeś, o ile mi wiadomo.
Poprzednio sugerowane przekierowanie /dev /null nadal wyświetla ostrzeżenie, po prostu wyłącza funkcję bezpieczeństwa przechowywania kluczy zdalnych, przekierowując wyjście do/dev / null.
Więc ssh nadal myśli, że pisze coś, co jest faktycznie odrzucone.
Jak wiem jedyną opcją jest przechwycenie wiadomości i usunięcie jej ze stdout.
ssh/scp..... 2>&1 | grep -v "^Warning: Permanently added"
Oto kompletny przykład, że może używać jako owijki do ukrywania takich ostrzeżeń:
#!/bin/bash
remove="^Warning: Permanently added" # message to remove from output
cmd=${0##*/}
case $cmd in
ssh)
binary=/usr/bin/ssh
;;
*)
echo "unsupported binary ($0)"
exit
;;
esac
$binary "$@" 2>&1 | grep -v "$remove"
Aby go zainstalować, wystarczy dodać / zmodyfikować instrukcję "case" dla Komendy, którą chcesz zmodyfikować. (ssh, scp, git itp.).
"ssh)" oznacza, że skrypt musi mieć nazwę " ssh " (lub link do skryptu nazywa się ssh).
Binary = /full / path jest ścieżką do pliku binarnego, który skrypt powinien zawijać.
Następnie umieść skrypt z wybraną nazwą w /bin lub gdzie indziej.
Skrypt również miejsce, gdzie można użyj - o "UserKnownHostsFile=/dev / null" do zmiennej binarnej$, to o wiele lepsze niż wprowadzenie takiego ryzyka bezpieczeństwa do globalnej konfiguracji ssh, które wpłynie na wszystkie sesje ssh, a nie tylko te, które chcesz powstrzymać wiadomość.
Wady:
To trochę nad głową, nie jest idealnie czyste rozwiązanie i przenosi stderr na stdout, co może nie być dobre we wszystkich przypadkach.
Ale pozbędzie się wszelkiego rodzaju komunikatów ostrzegawczych, których nie chcesz widzieć, a Ty można użyć jednego skryptu, aby zawinąć wszystkie pliki binarne, które chcesz (używając linków do systemu plików)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-28 10:20:56
Jeśli używasz repozytorium z GitHub, rozważ użycie wersji adresu URL HTTPS , aby całkowicie ominąć ten problem:
Jeśli sklonujesz repozytorium z aplikacji Windows GitHub, to jest to, czego używa ona do ZDALNEGO ADRESU URL. Może wiedzą coś, czego my nie wiemy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-28 17:07:51
Mam to samo pytanie i stwierdziłem, że nie ma pliku .ssh
w moim ~
. Więc po prostu utworzyłem katalog .ssh
pod ścieżką ~
i problem rozwiązany.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-31 14:44:28
Miałem ten sam problem, gdy zacząłem używać komputera z systemem Windows. W moim przypadku było to spowodowane tym, że moja konfiguracja SSH nie została wykonana. Github posiada bardzo dokładną dokumentację dotyczącą konfiguracji SSH. Po tym wszystkim problem został rozwiązany.
Https://help.github.com/articles/checking-for-existing-ssh-keys / https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-23 03:40:35