9.praktikum "SSH Windows+Linux" http://upload.itcollege.ee/edmund/ova/inf-hw/ UbuntuServer16041-template.ova https://www.microsoft.com/en-us/software-download/windows10ISO https://www.microsoft.com/et-ee/software-download/windows10ISO https://www.microsoft.com/ru-ru/software-download/windows10ISO http://lmgtfy.com/?q=user+agent+switcher http://enos.itcollege.ee/~edmund/inf-hw/praktikumid/ssh.txt kohalikus masinas VirtualBoxis: Linux #server Windows võrgud mõlemal virtuaalmasinal: NAT #interneti jaoks Internal Network (intnet) #vajalik virtuaalmasinate omavaheliseks nägemiseks võrkude seadistamine: http://enos.itcollege.ee/~edmund/inf-hw/praktikumid/virtuaallaborid.txt Windowsi tulemüür välja lülitada. pingi töötamiseks peab tulemüüris olema lubatud ICMP echo reply Windows'is: keelata Windows Update teenus: Services -> Windows Update Startup type: disabled Windowsi taaskäivitamine kiirelt: shutdown -r -f -t 00 lisainfo: shutdown /? SSH server Linuxis ------------------ sudo -i #logime superkasutajaks kontroll kas töötab: service ssh status sudo apt update && sudo apt install ssh openssh-blacklist* -y && sudo apt clean Windowsist saab proovida sisse logida: http://www.chiark.greenend.org.uk/~sgtatham/putty/snapshot.html - kasutame uusimat arendusversioon, mis toetab ka elliptilist krüptot (nt Ed25519). https://tartarus.org/~simon/putty-snapshots/w32/putty.zip #32-bit https://tartarus.org/~simon/putty-snapshots/w64/putty.zip #64-bit Kontrolli kas on õige Linuxi masin. MS Windows näitab konkreetset avaliku võtit Linuxi SSH serverist. Tuleb kontrollida kas see on sama ka Linuxi masinas avalik võti Linuxis MD5 vormingus kuna MS Windows selles näitab: ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E md5 siis võrrelda Linuxi ja Windowsi virtuaalmasinas avalikke võtmeid ja kui sobivad siis logida sisse Windowsist Linuxisse SSH'ga. Abistavad tegevused Windowsis ------------------------------ lisame Windowsi käsureale bash'i pisut võimekust http://mridgers.github.io/clink/ copy-paste töötab kui: - virtuaalmasinasse on paigaldatud Guest Additions sama versiooni, mis VirtualBox - lubatud shared clipboard: bidirectional (võib lubada ka drag'n'drop bidirectional) ägedam terminal Windowsile (suurus üle 200 MB): https://github.com/cmderdev/cmder SUDO Windowsile käivita cmd administraatorina tekita fail %systemroot%\system32\SUDO.cmd @echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs @echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs @echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs @cscript %temp%\sudo.tmp.vbs Käsurea alias MS Windows'is --------------------------- http://stackoverflow.com/questions/20530996/aliases-in-windows-command-prompt Teha kaust C:\aliases Lisa %systemdrive%\aliases otsiteekonda (path) Luua .bat C:\Aliases\ iga aliase kohta, mida vaja teha. %systemdrive%\aliases\server.bat @echo off set TERM=xterm-color #vaja kui soov käivitada mc, nano vms ssh -i C:\Users\student\.ssh\keyfile student@linux Keskkonnamuutujad Windowsis ---------------------------- System Variables -> Path -> Edit... #Süsteemi keskkonnamuutujate redigeerimine <---otsi Windowsi peamenüüst New %ProgramFiles%\OpenSSH #lisame selle otsiteekonda OK->OK->OK ava terminal uuesti (cmd) path #kontrolli otsiteekonda vaata keskkonnamuutujaid MS Windows'is: set set | more >lehekülje kaupa vaatamine set > output.txt #faili suunamine set #ühe muutuja vaatamine echo %variable% #ühe muutuja vaatamine http://stackoverflow.com/questions/5327495/list-all-environment-variables-from-command-line https://superuser.com/questions/341192/how-can-i-display-the-contents-of-an-environment-variable-from-the-command-promp IP-alias ---------- Windowsis: ava Notepad superkasutajana SUDO.cmd notepad %SystemRoot%\System32\drivers\etc\hosts lisa rida: 172.16.10.1 linux #linuxi masina IP Linuxis: sudo nano /etc/hosts 172.16.10.2 windows #Windowsi masina IP SSH server MS Windowsis ----------------------- MS Windows OpenSSH Server https://github.com/PowerShell/Win32-OpenSSH/releases/ alternatiivid: http://alternativeto.net/software/openssh/?platform=windows pakkida lahti kausta C:\Program Files\OpenSSH lohistame hiire paremat klahvi all hoides SUDO.cmd cmd cd %programfiles%\OpenSSH powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 #paigaldame edukad teated: [SC] SetServiceObjectSecurity SUCCESS [SC] ChangeServiceConfig SUCCESS sshd and ssh-agent services successfully installed vajadusel eemaldamine (superkasutaja terminalis): powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1 ssh-keygen.exe -A #loome võtmed teated: ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519 registreerimine võtmed ----------------------- laadida alla https://technet.microsoft.com/en-us/sysinternals/pstools ja pakkida lahti ning kopeerida %programfiles% kausta käivitame teenuse: Computer Management->Services #run as administrator SUDO.cmd compmgmt.msc ssh-agent #automatic SUDO.cmd cmd #käivitada cmd superkasutajana cd %programfiles%\PSTools\ #kopeerime PSTools eelnevalt programmifailide kausta psexec.exe -i -s cmd.exe # run as SYSTEM user cd %programfiles%\OpenSSH ssh-add ssh_host_dsa_key ssh-add ssh_host_rsa_key ssh-add ssh_host_ecdsa_key ssh-add ssh_host_ed25519_key käivitame teenuse: Computer Management->Services #run as administrator SUDO.cmd compmgmt.msc sshd #automatic kontroll, kas SSH töötab Windowsis: netstat -anop TCP Proto Local Address Foreign Address State PID TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 4216 Windowsi masinas peab kasutaja student olema grupi "Ssh Users" liige. Edasi juba seadistada SSH võtmefailidega sisselogimine. Tavakasutaja all loome võtmepaari mkdir %userprofile%\.ssh\ #loome kataloogi võtmete jaoks cd %programfiles%\OpenSSH #ei ole vajalik kui OpenSSH kaust on lisatud otsiteekonda ssh-keygen.exe -t ed25519 -a 1000 -f %userprofile%\.ssh\keyfile -C "Nimi e@post tel" kopeerida ka avalik võti %userprofile%\.ssh\keyfile.pub faili %userprofile%\.ssh\ authorized_keys NB! Jälgida, et tekiks ilma .txt laiendita fail! Anname veel õigused Windowsis: SUDO.cmd cmd #käivitame superkasutaja õigustes icacls %userprofile%\.ssh /grant "NT Service\sshd":R /T edukad teated: processed file: C:\Users\root\.ssh processed file: C:\Users\root\.ssh\known_hosts processed file: C:\Users\root\.ssh\voti processed file: C:\Users\root\.ssh\voti.pub Successfully processed 4 files; Failed processing 0 files scp %userprofile%\.ssh\keyfile student@linux:/home/student/.ssh/ scp %userprofile%\.ssh\keyfile.pub student@linux:/home/student/.ssh/ Linuxi masinas muudame õigused: chmod 700 ~/.ssh/ chmod 600 ~/.ssh/* Linuxis tekitame authorized_keys faili avaliku võtmega, et Windowsist saaks võtmefailiga sisse logida: cat ~/.ssh/voti.pub >> authorized_keys