• No results found

Připojení přes PuTTY a WinSCP

5.3 Přístup k virtuální instanci

5.3.1 Připojení přes PuTTY a WinSCP

Pro úspěšné připojení k založené instanci je potřeba několik předpokladů:

• SSH klient

• ID instance

• Veřejný DNS název instance

• Umístění privátního klíče

• Defaultní uživatelského jméno pro danou AMI instanci

• Povolení příchozích SSH připojení z vlastní IP adresy směrem k instanci

SSH klient

Jako SSH klient bude použit program PuTTY, protože s ním má autor práce zkušenosti a je zároveň i doporučen společností Amazon. PuTTY je bezplatná implementace SSH a Telnet klienta pro operační systém Windows a Unixové platformy. Jejím autorem a hlavním vývojářem je Simon Tatham. Spouštěcí soubory a zdrojový kód tohoto programu je distribuován pod licencí MIT, která je podobná BSD licenci. Tato licence má certifikaci Open Source a řídí se pravidly pro Debian Free Software. Důležité je, že všichni (i organizace) mohou používat PuTTY bez jakýchkoliv omezení (i pro komerční účely).

Kromě nutnosti zmínit originální copyright a text licenci si může kdokoliv tento produkt přizpůsobit svým potřebám a implementovat jej do svých programů a produktů (i komerčních). Kromě toho PuTTY nenese odpovědnost za žádná poškození systému a uživatel tento produkt používá na vlastní nebezpečí.

PuTTY umožňuje díky protokolům SSH, SCP, Telnet a rlogin a dalším vzdálené síťové připojení z vlastního počítače. PuTTY implementuje klientskou část seance: část ve které je seance zobrazena a ne část, kde probíhá. Zjednodušeně řečeno lze program PuTTY spustit na zařízení s operačním systémem Windows nebo Unix a vzdáleně se připojit například k Unix zařízení. PuTTY otevře okno a cokoliv, co uživatel do tohoto okna zadá je odesláno na vzdálený Unix stroj a vše, co tento stroj pošle nazpátek je zobrazeno v tomto okně.

V zásadě je možné tento vzdálený stroj ovládat stejně, jako kdyby u něj uživatel fyzicky seděl. Ve skutečnosti ale může sedět na vzdáleném místě od tohoto koncového zařízení.

(Tatham, 2017) Pro připojení k AWS instanci se využije podpora SSH-2, autentizace veřejných klíčů (RSA a DSA) a také ukládání údajů pro přihlášení a nastavení.

ID instance

ID instance je možné získat z Amazon EC2 konzole. Jedná se o hodnotu ve sloupci Instance ID. Případně je možné použít tlačítko Copy to clipboard v popisu instance.

Obrázek 25: ID instance Zdroj: vlastní

Veřejný DNS název instance

Veřejný DNS název instance je možné získat z Amazon EC2 konzole. Jedná se o hodnotu ve sloupci Public DNS (IPv4). Případně je možné, stejně jako v předchozím případě, použít tlačítko Copy to clipboard v popisu instance.

Obrázek 26: Veřejný DNS název instance Zdroj: vlastní

Umístění privátního klíče

Je potřeba úplná cesta k umístění klíče .pem na pevném disku. Tento klíč byl vygenerován a stažen při spuštění instance.

Defaultní uživatelského jméno pro danou AMI instanci

Každý z operačních systémů na příslušných instancích má vlastní defaultní uživatelské jméno. Pro přehlednost je zde výčet jednotlivých systémů a jejich uživatelských jmen:

• Pro Amazon Linux 2 nebo Amazon Linux AMI, uživatelské jméno je ec2-user.

• Pro Centos AMI, uživatelské jméno je centos.

• Pro Debian AMI, uživatelské jméno je admin nebo root.

• Pro Fedora AMI, uživatelské jméno je ec2-user nebo fedora.

• Pro RHEL AMI, uživatelské jméno je ec2-user nebo root.

• Pro SUSE AMI, uživatelské jméno je ec2-user nebo root.

• Pro Ubuntu AMI, uživatelské jméno je ubuntu.

Jelikož vytvořená instance běží na operačním systému Ubuntu 16.04 LTS, defaultním uživatelským jménem je ubuntu.

Povolení příchozích SSH připojení z vlastní IP adresy směrem k instanci

Bezpečnostní skupina asociovaná s instancí musí mít povolené příchozí SSH data z dané IP adresy. Toto již bylo dříve nastaveno a rozepsáno v kapitole Konfigurace bezpečnostních skupin. (Amazon, 2018)

Konverze privátního klíče za pomocí PuTTYgen

První menší problém s programem PuTTY přichází při použití privátního klíče. PuTTY nativně nepodporuje privátní klíče ve formátu .pem vygenerované pomocí Amazon EC2.

PuTTY nicméně obsahuje utilitu s názvem PuTTYgen. Ta dokáže klíče ve formátu .pem konvertovat do formátu .ppk, se kterým již PuTTY dokáže pracovat. Před připojením k instanci pomocí PuTTY je potřeba zkonvertovat privátní klíč do formátu .ppk.

Kromě konverze je PuTTYgen i generátor klíčů. Generuje páry privátního a veřejného klíče pro použití v PuTTY a dalších programech. PuTTYgen generuje klíče ve formátu RSA, DSA, ECDSA a Ed25519.

Pro konverzi privátního klíče vygenerovaného službou AWS je potřeba otevřít program PuTTYgen a zvolit typ klíče – v tomto případě RSA. Pro načtení existujícího klíče slouží volba Load. Zvolením této možnosti se zobrazí adresářová struktura, která defaultně zobrazuje pouze klíče ve formátu .ppk. Pro nalezení vygenerovaného klíče je tedy potřeba zvolit možnost k zobrazení všech souborů. Potvrzením výběru klíče se zobrazí se dialogové okno s informací, že klíč byl úspěšně importován. Před uložením klíče ve formátu .ppk je ještě možné zvolit přístupovou frázi pro přidání další vrstvy protekce při přístupu ke klíči.

Pro uložení klíče slouží volba Save private key, která otevře adresářovou strukturu a zeptá se na název souboru. Bude zadáno stejné jméno jako v případě .pem klíče a uloženo na disk.

Klíč je nyní připraven pro použití v programu PuTTY a lze se pomocí něj připojit k instanci.

Obrázek 27: Oznámení o úspěšném importování cizího klíče Zdroj: vlastní

Obrázek 28: Program PuTTY s importovaným klíčem Zdroj: vlastní

Připojení k instanci přes PuTTY

Po spuštění programu PuTTY se zobrazí obrazovka s kolonkou Host Name, do které je potřeba zadat uživatelské jméno a veřejný DNS název dané instance ve tvaru uzivatelske_jmeno@verejny_dns_nazev. Connection type je defaultně navolen na SSH. Port by měl být nastaven na hodnotu 22.

PuTTY je také možné nakonfigurovat, aby po určitém intervalu posílal keepalive data, která udržují seanci aktivní. Může se to hodit v případě, že je seance delší dobu neaktivní a docházelo by k přerušení připojení. Ve sloupci Category, pod možností Connection je možné do pole Seconds between keepalives zadat hodnotu po které budou data posílána.

Jelikož je autentizace nastavena na SSH klíč, je potřeba ve sloupci Category rozbalit možnost Connection, dále rozbalit možnost SSH a pod volbou Auth nakonfigurovat privátní

klíč. Tlačítko Browse pod nápisem Private key file for authentication slouží pro otevření adresářové struktury a vybrání klíče ve formátu .ppk, který byl zkonvertován v minulém kroku. Do prázdného pole se automaticky doplní cesta ke klíči a tím je program PuTTY nakonfigurován pro připojení. Nastavení této seance je zároveň možné si uložit na defaultní stránce Session, aby nebylo nutné jej příště znovu konfigurovat.

Po stisknutí tlačítka Open dojde k otevření terminálového okna a při prvním spuštění dojde k zobrazení bezpečnostního dialogového okna. Toto okno vyžaduje potvrzení shody RSA klíče s klíčem, jenž byl vygenerován v předešlém kroku. Je nutné podotknout, že tuto výzvu není potřeba přijmout. Při zvolení No dojde k navázání připojení, nicméně RSA otisk nebude uložen do registrů. Při zvolení Yes dojde k uložení RSA otisku do následující cesty v registrech: HKCU\SOFTWARE\SimonTatham\PuTTY\SshHostKeys. Při příštím pokusu o připojení se již žádost neobjeví.

Obrázek 29: Přihlašovací údaje v programu PuTTY Zdroj: vlastní

Obrázek 30: Upozornění na přidání klíče do registrů Zdroj: vlastní

Obrázek 31: Stav terminálu po přihlášení k instanci Zdroj: vlastní

Přenášení souborů mezi místním počítačem a vzdálenou instancí

Pro přenášení souborů mezi místním počítačem a vzdálenou instancí je možné buď použít terminálové prostředí programu PuTTY nebo grafické uživatelské prostředí open source programu WinSCP.

Pomocí PuTTY

Pro přenášení souborů v programu PuTTY existuje vestavěný nástroj pro příkazový řádek nazvaný PuTTY Secury Copy klient (zkráceně PSCP). Ten umožňuje nahrávat soubory na vzdálený server a přijímat je z něj. Důležité je, že tento nástroj se musí použít z příkazového řádku místního počítače, a ne ze vzdálené PuTTY konzole.

Příklad zkopírování místního souboru na operačním systému Windows umístěného na ploše a nazvaného test.txt na vzdálený server do složky /ubuntu/home/:

$ pscp -i "D:\Desktop\nextcloud.ppk" "D:\Desktop\test.txt" ubuntu@ec2-34-219-128-225.us-west-2.compute.amazonaws.com:/home/ubuntu/test.txt

Pomocí WinSCP

WinSCP je open source souborový manažer s grafickým rozhraním pro operační systém Windows. Umožňuje nahrávat soubory na vzdálený počítač přes protokoly SFTP, SCP, FTP a FTPS. Tento program zároveň umožňuje přenášet soubory mezi Windows strojem a Linuxovou instancí stylem táhni a pusť nebo mezi nimi synchronizovat celé adresářové struktury.

Obrázek 32: Výzva programu WinSCP na přidání RSA klíče do registrů Zdroj: vlastní

Obrázek 33: Adresářová struktura v programu WinSCP Zdroj: vlastní