Mugavam ligipääs Greenyle Windows, macOS ja Linuxi masinatest
Kõikvõimalikud viisid kuidas oma elu ülikooli serveritega suheldes mugavamaks teha.
- Ühendame Greenyga üle SSH tunneli
- Lõpetame paroolide trükkimise
- Brausime Greenys asuvaid veebilehti oma koduarvutis
- SFTP kasutamine
- Mountime Greeny oma koduse masina failisüsteemi lihtsamaks ligipääsuks
- Muuhulgas õpime kasutama Windowsi Linuxi alamsüsteemi
Juhised Windowsi kasutajatele
1) Paigaldame Tarkvara
Linux subsystem
Enamasti soovitatakse kasutada PuTTY-t, kuid Windows 10 poolt pakutav WLS (Windows Linux Subsystem) on palju võimsam ja mugavam meetod teiste Linuxi baasil masinatega (ehk siis enamus serverid maamunal) suhtlemiseks. Informaatikud peaksid end käsureal mugavalt tundma.
- Vajuta
Winkey+X
ja vali Windows Powershell (Admin) - Kirjuta
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Ava Microsoft Store ja paigalda endale sobiv distro - soovitan Ubuntut
- Pärast installi ava Ubuntu rakendus ja seadista oma kasutajanimi jms
WinFsp ja SSHFS windowsile (vajalik eksperimentaalsete featuuride jaoks allpool)
- laadi alla ja installi
https://github.com/billziss-gh/winfsp/releases/
https://github.com/billziss-gh/sshfs-win/releases/
WinSCP
SFTP klient failide üles ja alla laadimiseks, juhuks kui minu poolt pakutavad eksperimentaalsed featuurid liiga hirmsad on või mingil põhjusel ei tööta.
https://winscp.net/eng/download.php
2) Seadistame mugava autentimise RSA võtmepaariga
Võtmete loomine
Ava Ubuntu rakendus ja toimeta järgnevalt:
- Loome uue võtmepaari. Key location jäta samaks, passphrase pole hetkel vajalik, kuna me ei turva kriitilise tähtsusega serverit
ssh-keygen -t rsa -b 4096
- Paigaldame oma värske avaliku võtme lin2.tlu.ee serverisse. Sisesta oma TLU parool, kui küsitakse
ssh-copy-id -i ~/.ssh/id_rsa *tlu-kasutaja*@lin2.tlu.ee
- Loome tunneli, et sama võti Greeny-sse paigaldada
ssh *tlu-kasutaja*@lin2.tlu.ee -L 2222:greeny.cs.tlu.ee:22
- Avame uue Ubuntu akna ja paigaldame võtme Greeny serverisse. Kasuta oma Greeny parooli
ssh-copy-id -i ~/.ssh/id_rsa -p 2222 *greeny-kasutaja*@localhost
- Sulge uus aken ja logi lin2 serverist välja. Kirjuta mõlemas aknas:
exit
Edaspidi pole sul vaja paroole trükkida :)
ssh-agent seadistus (valikuline)
SSH agent suunab sinu masinas oleva võtme edasi, kui ühendad masinaga üle teise masina (nt. lin2.tlu.ee shellist greeny.cs.tlu.ee ühendades). Kui kasutad tunneleid, pole seda vaja. WSL tühistab akna sulgemisel taustprotsessid, seega peame agendi akna avamisel automaatselt kävitama ja hoolitsema selle eest, et neid oleks ainult 1. Kasutame lahti jäänud akent ja seadistame agendi.
- Avame .bashrc
nano ~/.bashrc
- Lisame alloleva skripti faili lõppu
#!/bin/bash
# Set up ssh-agent
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initializing new SSH agent..."
touch $SSH_ENV
chmod 600 "${SSH_ENV}"
/usr/bin/ssh-agent | sed 's/^echo/#echo/' >> "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
kill -0 $SSH_AGENT_PID 2>/dev/null || {
start_agent
}
else
start_agent
fi
- Salvestame faili
Ctrl+O
ja väljumeCtrl+X
- Laeme uue .bashrc
source ~/.bashrc
3) Loome ühenduse ülikooli serveriga
Suuname kohalikud pordid. See võimaldab meil välisvõrgust lin2 vahendusel Greenyga suhelda.
- Loome lin2 ühenduse ja suuname kohalikud pordid Greeny HTTP ja SSH pihta
ssh *TLU-kasutaja*@lin2.tlu.ee -L 2222:greeny.cs.tlu.ee:22 -L 8888:greeny.cs.tlu.ee:80
Localhost pordid 2222 ja 8888 on nüüd suunatud. See aken peab jääma avatuks senikaua kuni tahad Greeny ühendust kasutada!
4) Greeny kasutamine üle tunneli
Kõik pöördumised teeme edaspidi locahost või 127.0.0.1 poole
SSH
Terminalis
ssh -p 2222 *greeny-kasutaja*@localhost
Veeb
Ava brauseris
http://localhost:8888/~*sinu-greeny-kasutaja*
SFTP (WinSCP)
Seadistus:
File protocol: SFTP
Hostname: localhost
Port: 2222
User name: greeny-kasutaja
Kui tahad kasutada parooli asemel võtit, siis kopeeri oma võti WLSist üle Windowsi failisüsteemi
cp ~/.ssh/id_rsa /mnt/c/Users/Kasutajanimi/Documents/tlu_rsa
Vali kopeeritud fail WinSCP login aknas
Advanced... > SSH > Athentication > Private key file: ______
Eksperimentaalne värk
SFTP asemel on võmalik Greeny kataloog otse oma kohalikku failisüsteemi mountida ja töötada failidega otse, mitte neid üles/alla laadides. WinFsp ja sshfs-win peavad olema installitud.
- Ava file exploreris This PC ja vali "Map network drive"
- Folder väljale kirjuta:
\\sshfs\*sinu-windowsi-kasutaja*=*greeny-kasutaja*@localhost!2222
Sinu Greeny kataloog on nüüd võrgukettana sinu arvutis
P.S. Atom editor on üle SSHFSi aeglane. Ilmselt git muudatuste trackimise pärast vms.
macOS ja Linux
Juhised macOS töötavad ka Linuxi masinates. Võib-olla pead käske ümber korraldama, aga kui sa Linuxit töölauana kasutad, siis peaksid sellega ilusti hakkama saama.
1) Paigaldame tarkvara
macOS
Hangi FUSE ja SSHFS:
https://osxfuse.github.io
SSHFS 2.5.0 on vana, aga töötab. Uuema versiooni (pead ise kompileerima) saad siit: https://github.com/libfuse/sshfs
Linux
Debiani baasil distrotes (Ubuntu, Mint, jms)
- Installi SSHFS
sudo apt-get update && sudo apt-get -y install sshfs
2) Seadistame mugava autentimise RSA võtmepaariga
Võtmete loomine
Ava Terminal ja toimeta järgnevalt:
- Loome uue võtmepaari. Key location jäta vaikimisi, passphrase pole hetkel vajalik, kuna me ei turva kriitilise tähtsusega serverit
ssh-keygen -t rsa -b 4096
- Paigaldame oma värske avaliku võtme lin2.tlu.ee serverisse. Sisesta oma TLU parool, kui küsitakse
ssh-copy-id -i ~/.ssh/id_rsa *tlu-kasutaja*@lin2.tlu.ee
- Loome tunneli, et sama võti Greeny-sse paigaldada
ssh tlu-kasutaja@lin2.tlu.ee -L 2222:greeny.cs.tlu.ee:22
- Avame uue Terminali akna ja paigaldame võtme Greeny serverisse. Kasuta oma Greeny parooli
ssh-copy-id -i ~/.ssh/id_rsa -p 2222 *greeny-kasutaja*@localhost
- Sulge uus aken ja logi lin2 serverist välja. Selleks kirjuta mõlemas aknas:
exit
ssh-agent (valikuline)
Ma ei mäleta täpseid protsesse, aga macOS peal käis asi umbes nii, et ssh-add -K
lisab parooliga genereeritud võtmed keychaini ja lisades ssh-add -A 2>/dev/null;
oma .bash_profile faili tõmmatakse võtmed automaatselt sisse. Vähemalt mul tundub töötavat ja mul ei ole huvi oma arvutit puhtaks teha, et asja algusest peale testida. Tunneleid tehes pole seda enivei vaja.
Linuxi jaoks googelda ssh-agent linux
2) Loome ühenduse ülikooli serveriga
Suuname kohalikud pordid. See võimaldab meil välisvõrgust lin2 vahendusel Greenyga suhelda.
- Loome lin2 ühenduse ja suuname kohalikud pordid Greeny HTTP ja SSH pihta
ssh TLU-kasutaja@lin2.tlu.ee -L 2222:greeny.cs.tlu.ee:22 -L 8888:greeny.cs.tlu.ee:80
Localhost pordid 2222 ja 8888 on nüüd suunatud.
NB! See aken peab jääma avatuks senikaua kuni tahad Greeny ühendust kasutada!
3) Greeny kasutamine üle tunneli
Kõik pöördumised teeme edaspidi locahost või 127.0.0.1 poole
SSH
Terminalis
ssh -p 2222 greeny-kasutaja@localhost
Veeb
Ava brauseris
http://localhost:8888/~greeny-kasutaja
Failisüsteemi mountimine üle SSH
Failide üle SCP/SFTP edasi-tagasi saatmise asemel on võimalik oma kodukataloog Greenys otse enda masinasse ühendada.
- Tekita kohalik mount point
mkdir -p ~/Documents/TLU/Greeny
- Loo SSHFS ühendus
sshfs -p 2222 kasutaja@localhost:/home/greeny-kasutaja ~/Documents/TLU/Greeny
Nüüd saad Finderist kaustade ja failidega tegeleda nagu need oleks su oma arvutis.
- Lahtiühendamiseks
umount ~/Documents/TLU/Greeny
About
Murede ja soovituste korral saad minuga ühendust võtta Informaatika 2018 Slackis - ifikas18.slack.com
Viktor Lillemäe