GNU/Linux >> Znalost Linux >  >> Linux

ssh-keyscan – stále propagováno pomocí Autentičnost hostitele '[název hostitele] ([IP adresa])' nelze zjistit

Zkuste toto:

ssh-keyscan -t rsa [ip_address]

Vezměte výstup a vložte jej do .ssh/known_hosts. Nyní, pokud chcete známé_hostitele hashovat, udělejte toto:

ssh-keygen -H

upravit: Zde je řešení s jedním příkazem. Používá název hostitele a IP adresy a obojí hashuje.

ssh-keyscan -Ht rsa [hostname],[IP address] >> known_hosts

Odpověď od kschurig bude fungovat, ale není nutně nejbezpečnější. Získává bonusové body za to, že uděláte něco navíc, abyste mohli identifikovat server podle více než jednoho URI – tj. názvu hostitele a IP adresy. To znamená, že můžete nadále přidávat platné URI tohoto hostitele rozšířením seznamu odděleného čárkami.

Hledal jsem však světský způsob, jak obejít neznámou hostitelskou ruční interakci klonování git repo, jak je uvedeno níže, a mělo by to pomoci vysvětlit, co se děje a jak se můžete vyhnout této části skriptování některých věcí souvisejících s SSH:

[email protected]:~$ git clone [email protected]:viperks/viperks-api.git
Cloning into 'viperks-api'...
The authenticity of host 'bitbucket.org (104.192.143.3)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?

Poznamenejte si otisk klíče RSA...

Takže toto je věc SSH, bude to fungovat pro git přes SSH a obecně jen věci související s SSH...

[email protected]:~$ nmap bitbucket.org --script ssh-hostkey

Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-05 10:21 EDT
Nmap scan report for bitbucket.org (104.192.143.3)
Host is up (0.032s latency).
Other addresses for bitbucket.org (not scanned): 104.192.143.2 104.192.143.1 2401:1d80:1010::150
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
| ssh-hostkey:
|   1024 35:ee:d7:b8:ef:d7:79:e2:c6:43:9e:ab:40:6f:50:74 (DSA)
|_  2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 (RSA)
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 42.42 seconds

Nejprve nainstalujte nmap do svého denního ovladače. nmap je velmi užitečný pro určité věci, jako je zjišťování otevřených portů a toto -- ruční ověřování otisků SSH. Ale zpět k tomu, co děláme.

Dobrý. Buď jsem zkompromitován na mnoha místech a strojích, které jsem to zkontroloval – nebo věrohodnějším vysvětlením toho, že všechno je hunky dory, je to, co se děje.

Tento „otisk prstu“ je pouze řetězec zkrácený jednosměrným algoritmem pro naše lidské pohodlí s rizikem, že se více než jeden řetězec převede na stejný otisk prstu. Stává se to, říká se jim kolize.

Bez ohledu na to, zpět k původnímu řetězci, který můžeme vidět v kontextu níže.

[email protected]:~$ ssh-keyscan bitbucket.org
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128
no hostkey alg
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-129
bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-123
no hostkey alg

Před časem tedy máme způsob, jak požádat původního hostitele o formu identifikace.

V tomto okamžiku jsme manuálně stejně zranitelní jako automaticky – řetězce se shodují, máme základní data, která vytvářejí otisk prstu, a mohli bychom o tato základní data v budoucnu požádat (předcházet kolizím).

Nyní použít tento řetězec způsobem, který zabrání dotazování na pravost hostitelů...

Soubor známých_hostitelů v tomto případě nepoužívá položky prostého textu. Hašované položky poznáte, když je uvidíte, vypadají jako hash s náhodnými znaky namísto xyz.com nebo 123.45.67.89.

[email protected]:~$ ssh-keyscan -t rsa -H bitbucket.org
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128
|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==

První řádek komentáře se rozhořčeně objeví - ale můžete se ho zbavit jednoduchým přesměrováním pomocí konvence ">" nebo ">>".

Protože jsem se ze všech sil snažil získat neposkvrněná data, která budou použita k identifikaci „hostitele“ a důvěryhodnosti, přidám tuto identifikaci do svého souboruknown_hosts v adresáři ~/.ssh. Protože bude nyní identifikován jako známý hostitel, nedostanu výše uvedenou výzvu, když jste byl mladý.

Díky, že jste se mnou, tady to máte. Přidávám klíč bitbucket RSA, abych tam mohl neinteraktivním způsobem interagovat se svými git repozitáři jako součást pracovního postupu CI, ale cokoli si děláte, co chcete.

#!/bin/bash
cp ~/.ssh/known_hosts ~/.ssh/known_hosts.old && echo "|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==" >> ~/.ssh/known_hosts

Takže takhle zůstaneš pro dnešek pannou. Totéž můžete udělat s githubem, když budete ve svůj čas postupovat podle podobných pokynů.

Viděl jsem tolik příspěvků o přetečení zásobníku, které vám říkaly, abyste programově přidali klíč naslepo bez jakékoli kontroly. Čím více kontrolujete klíč z různých počítačů v různých sítích, tím více můžete mít důvěru, že hostitel je ten, o kterém se říká, že je – a to je to nejlepší, co můžete od této vrstvy zabezpečení doufat.

ŠPATNĚssh -oStrictHostKeyChecking=žádný název hostitele [příkaz]

ŠPATNĚssh-keyscan -t rsa -H název hostitele>> ~/.ssh/known_hosts

Nedělejte ani jednu z výše uvedených věcí, prosím. Máte příležitost zvýšit své šance vyhnout se tomu, aby někdo odposlouchával vaše datové přenosy prostřednictvím útoku muže uprostřed – využijte této příležitosti. Rozdíl je doslova v ověření, že klíč RSA, který máte, je klíč bona fide serveru a nyní víte, jak tyto informace získat, abyste je mohli porovnat, abyste spojení mohli důvěřovat. Pamatujte, že více srovnání z různých počítačů a sítí obvykle zvýší vaši schopnost důvěřovat připojení.


Linux
  1. Mohu aktualizovat systém pomocí Live CD?

  2. Jak může bash skript znát adresář, ve kterém je nainstalován, když je zdrojem . operátor?

  3. Jak mohu ovládat klávesnici a myš pomocí Pythonu?

  1. Jak mohu získat obsah v barvách při čtení souboru s „méně“ nebo „více“?

  2. Jak mohu spustit jiný příkaz, ale se stejnými argumenty?

  3. Nelze přejmenovat soubor, jehož název začíná pomlčkou

  1. Mohu automaticky přidat nového hostitele do známých_hostitelů?

  2. Jak mohu úplně smazat obsah mého starého VPS?

  3. Jak se mohu připojit k Postgres běžícímu na hostiteli Windows zevnitř WSL2?