SSH
SSH se používá na vzdálenou správu počítačů (něco jako telnet) šifrovaným přenosem . Nechá se jeho pomocí i šifrovaně kopírovat soubory,
,přesměrovat komunikaci přes šifrovaný kanál a vzdáleně spouštět příkazy. Skládá se z serverové a klientské části
OBSAH
SSH server
SSH klient
Přihlašování do shellu na vzdálený počítač
Kopírování souborů zabezpečeným spojením
Forwardování portů
Přímé spouštění příkazů na vzdáleném stroji
Autentizace bez hesla
Vzdálené vynucené příkazy a chování
Forwardování X11 vzdálené plochy
restart SSH
/etc/rc.d/sshd restart
logy
/var/log/auth.log
SSH server
chování serveru řídí soubor
/etc/ssh/ssh_config, který má následující položky: (jsou uvedeny defaultní hodnoty)
Port 22 | port, na kterém poslouchá ssh |
Protocol 2 | protokol, jaký je použitý (ssh1 nebo ssh2), oba protokoly-Protocol 2,1 |
AddressFamily any | jaká rodina adres může využívat SSH (any-všechny, inet-IPv4, inet6-IPv6) |
ListenAddress 0.0.0.0 | na jaké sítovce bude naslouchat (zadáme její IP) |
ListenAddress :: | je možno definovat více sítovek |
AllowGroups | Povolené skupiny, kteří se mohou přihlašovat. Skupiny se oddělují čárkou pořadí při uvedení kombinace povolovacích/zakazovacích direktiv je DenyUsers, AllowUsers, DenyGroups, nakonec AllowGroups. |
AllowUsers | povolení uživatelé, oddělují se čárkou(SSH2), nebo mezerou(SSH1). Fungují zde žolíkové znaky. Můžeme použít kombinaci uživatel@umístnění (jarda@192.168.0.1, nebo jarda@192.168.0.*, nebo *@192.168.0.*) |
DenyUsers | platí stejná pravidla jako pro AllowGroups |
DenyGroups | platí stejná pravidla jako pro DenyGroups |
AllowTcpForwarding yes | povoluje směrování portů TCP |
AuthorizedKeysFile .ssh/authorized_keys | adresář , kde se hledají klíče |
Banner nejaka/cesta | defaultně vypnuto. Cesta uvedená k souboru tento zobrazí před autentizací |
ChallengeResponseAuthentication yes | specifikuje jaká sutentizace je povolena. Ve freebsd to zajištuje PAM. Volby, které toto chování mohou ovlivnit jsou PasswordAuthentication a PermitRootLogin |
Ciphers | specifikuje jaké šifrování je povoleno pro SSH2. Jednotlivá šifrování se oddělují čárkou |
ClientAliveInterval číslo | nastavení počtu sekund, než bude poslána zpráva při nečinnosti |
ClientAliveCountMax číslo | nastavení maximálního počtu zpráv při nečinnosti |
Compression delayed | určuje , jaká komprese bude použita- volby jsou yes, delayed, no |
ForceCommand příkaz | spustí zadaný příkaz, bude ignorovatjakýkoliv příkaz od klienta |
HostKey | určuje cestu k adresáři obsahujícím privátní klíče. Default je /etc/ssh/ssh_host_key pro SSH1, a /etc/ssh/ssh_host_dsa_key pro SSH2 |
IgnoreRhosts yes | ignoruje soubory ~/.rhosts a /etc/hosts.equiv (vtahuje se i na ~/.shosts a /etc/shosts.equiv) |
IgnoreUserKnownHosts no | ignoruje se databáze známích hostitelů |
KeyRegenerationInterval 3600 | ve verzi SSH1 je dočasný server key automaticky regenerován po této době (v sec.) |
LoginGraceTime 2m | doba, do kdy se musí uživatel od navázání spojení úspěšně přihlásit |
LogLevel INFO | nastavení ukecanosti logu možnosti: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, a DEBUG3 |
MaxAuthTries číslo | specifikuje kolik pokusů o neúspěšné připojení bude tolerováno |
MaxStartups číslo | specifikuje kolik současných neautorizovaných spojení bude povoleno |
PasswordAuthentication no | zda je povolena autentizace heslem |
PermitEmptyPasswords no | povoluje přihlásit na účty, která mají prázdná hesla |
PermitOpen | určuje, na který TCP port forwarding je povolen. Možnosti:
PermitOpen host:port
PermitOpen IPv4_addr:port
PermitOpen [IPv6_addr]:port |
PermitRootLogin no | povoluje přímé připojení roota |
PermitTunnel | zda bude tun forwarding povolen. Pokud je nastaveno na no, root nemá povolené připojení. Hodnoty:
point-to-point (layer 3)
ethernet (layer 2) |
PermitUserEnvironment no | určuje, zda ~/.ssh/environment a environment= nastavení v ~/.ssh/authorized_keys budou vykonány SSH demonem |
PidFile /var/run/sshd.pid | umístnění PID souboru |
PrintLastLog yes | určuje, zda SSH demon by měl vytisknou datum a čas posledního přihlášení usera |
PrintMotd yes | určuje, zda se bude po přihlášení zobrazovat /etc/motd |
RSAAuthentication yes | stejné jako následující (starší volba) |
PubkeyAuthentication yes | povolení autentizace veřejnými klíči |
RhostsRSAAuthentication no | kontroluje soubor ~/.rhosts a /etc/hosts.equiv zda se klient může připojit. Je možno použít i soubory ~/.shosts a /etc/shosts.equiv a "r" soubory smazat |
Subsystem sftp /usr/libexec/sftp-server | nastavuje externí subsystém. Udává se cesta k němu. Většinou jde o sftp (dostupné pouze pro ssh2). můžeme si ale nadefinovat vlastní příkaz, jehož argumentem bude
cesta k programu, scriptu, nebo jednoduchý příkaz. |
ServerKeyBits 768 | určuje jakou délkou klíče budou šifrovány dočasné klíče, minimum je 512 |
StrictModes yes | Kontroluje přístupová práva důležitých adresářů a souborů (musí být vlastníkem root nebo uživatel a skupina nebo ostatní nesmějí mít právo zápisu). Kontroluje se Home adresář uživatele, soubory
~/.rhosts , ~/.shosts, ~/.ssh a ~/.ssh/authorized_keys |
SyslogFacility AUTH | určuje zařízení přebírající logy od sshd. Možnosti:DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7 |
TCPKeepAlive yes | TCP bude posílat zprávy pro udržení spojení |
UseDNS yes | určuje, zda se bude demon vyhledávat a kontrolovat jestli vzdálený klient má resolvovatelný název k IP |
UseLogin no | určuje, zda se bude demon login je použit interaktivní login session |
UsePAM yes | zapíná rozhraní PAM. |
X11DisplayOffset 10 | specifikuje číslo obrazovky dostupné pro sshd při X11 forwardingu. Toto zabranuje kolizi se skutečným X11 serverem. |
X11Forwarding yes | udává, zda X11 forwarding je povolen či nikoliv |
X11UseLocalhost yes | udává, zda sshd nabinduje X11 na loopback či jinou adresu |
XAuthLocation /usr/X11R6/bin/xauth | určuje cestu k xauth programu |
Několik šikovných nastavení
Subsystemy
zapínají se configu
/etc/ssh/sshd_config
Syntaxe je následující :
Subsystem nazev_prikazu cesta_k_scripu(příkazu)
tedy
Subsystem test /home/votruba/test.sh
poté když jej voláme, zadáme na klientovi
ssh votruba@192.168.0.6 -s test
po zadání hesla se spustí předdefinovaný script, nebo program. Je to výhodné hlavně pokud na vzdáleném stroji chcete častěji spouštět nějakou akci.
Změna portu serveru
na serveru v souboru
/etc/ssh/sshd_config
odkomenutujeme řádek a napíšeme nové číslo portu
#Port 22
na jiný, třeba
Port 2222
restartneme ssh
/etc/rc.d/sshd restart
pak když se chceme připojit na tento nový port, použijeme parametr -p
ssh -p 2222 votruba@192.168.0.5
pokud se pokusíme připojit na původní port, server nás odmítne
ssh: connect to host 192.168.0.5 port 22: Connection refused
Klient
Chování klienta se nastavuje v configu
/etc/ssh/ssh_config
zde je několik nejpoužívanějších
Host |
každá sekce začíná directivou Host za kterou se nastaví pro jakou sít/IP adresu/rozsah sítě
platí tato pravidla.
Např:
Host *.dvorec.eu
Compression yes
port 222
POZOR pro SSH2 platí tato syntaxe
*.dvorec.eu:
tj vynechá se direktiva host a na konec se dá dvojtečka. Ostatní položky jsou stejné.
pokud se má nastavení aplikovat na všechny spojení, použijeme sekci začínající
Host * |
HostName |
je možno si specifikovat alias (pokud máte dlouhý název serveru) na jednodušší
Host doma
HostName www.dvorec.eu
kde "doma" je aliasem k www.dvorec.eu |
user |
slovo user umožnuje v dané sekci definovat uživatele, pod kterým se bude klient defaulně přihlašovat na server. Běžně používá SSH jméno aktuálně přihlášeného uživatele. Pokud chcete použít jiného uživatele
, musíte zadat příkaz ssh -l uživatel , nebo ve tvaru ssh jmeno@adresa. Takto, pokud bude v configu
HostName www.dvorec.eu
kde "pokus " je aliasem k www.dvorec.eu
user votruba
tak stačí zadat do příkazového řádku jen
ssh pokus
a klient se přihlásí na server www.dworec. eu pod uživatelem votruba. Pokud uvedete více userů, tak bude brán v potaz pouze první uvedený. Jestliže se chcete na tentýž počítač přihlašovat na více
uživatelů, vytvořte si několik sekcí host a do nich uvedte rozdílné uživatele |
Více informací o spojení
Můžeme si vytisknout, jaké SSH při spojení použilo porty
ssh uzivatel@mail.dvorec.eu 'echo $SSH_CLIENT'
85.207.55.210 54093 22
ještě více info získáme pomocí parametru -v
ssh -v votruba@192.168.0.5
OpenSSH_4.5p1 FreeBSD-20061110, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 192.168.0.5 [192.168.0.5] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.5p1 FreeBSD-20061110
debug1: match: OpenSSH_4.5p1 FreeBSD-20061110 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.0.5' is known and matches the DSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_dss_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
Přihlašování
pokud se přihlašujete na vzdálený počítač pomocí SSH je třeba se
nejdříve přihlásit jako uživatel který je ve skupině
wheel a pak až
příkazem
su jako
root.
Toto chování je řízeno modulem PAM v systému. Pokud by jste jej z nějakého důvodu chtěli změnit, nechá se to nastavit v
/etc/pam.d/su , kde se upraví řádka
auth requisite pam_group.so no_warn group=wheel root_only fail_safe
pokud jste se přihlašovali na server z nějakého počítače, ssh si
vytvořilo v souboru
/root/.ssh/know_hosts záznam. Protizáznam máte na
svém lokálním počítači.
Jestliže tento počítač přeinstalujete (a dáte mu stejnou IP) a zkusíte se znova přihlásit na
server, dostanete hlášku, že klíče neodpovídají(nebo něco takového).
Pak bud musíte jít na jiný počítač odtud se přihlásit na server a
následně v souboru
/root/.ssh/know_hosts vymazat řádku s IP
adresou(případně jménem počítače),nebo, pokud váš komp nemá záznam v
DNS stačí na chvilku si změnit IP adresu , aby byla rozdílná od té
minulé a nebo holt musíte dojít k tomu serveru přímo :-((. Pak se
můžete bez problému přihlásit z přeinstalovaného pecka, protože SSH si
vytvoří nový otisk.
Pokud nemáte nastaveno v konfigu klienta jinak, SSH se přihlašuju na vzdálený počítač na defaultní port (22) a uživatelem pod kterým jste aktuálně přihlášeni. To znamená, že pokud sedíte u stanice
a jste přihlášeni jako jarda, SSH toto jméno použije pro přihlášení na vzdálený stroj. Jiným jménem se přihlásíte těmito dvěma příkazy (oba dělají to samé)
ssh nejarda@server.doma.cz
ssh -l nejarda server.doma.cz
Kopírování souborů zabezpečeným spojením
SSH nám umožnuje kopírovat soubory po zabezpečeném kanále. Používají se na to 2 utility. SCP a SFTP
SCP
jednodušší, ale plně dostačující pro kopírování. Syntaxe se liší podle směru kopírování
formát příkazu je
pro kopírování na vzdálený počítač
scp [parametry] mistni_soubor Uzivatel@IPadresa:kam_se_ulozi
pro kopírování na místní počítač
scp [parametry] Uzivatel@IPadresa:vzdaleny_kopirovany_soubor kam_se_ulozi
parametry scp
-1 | použije pouze SSH1 |
-2 | použije pouze SSH2 |
-4 | použije pouze IPv4 |
-6 | použije pouze IPv6 |
-C | zapne kompresi |
-l | zapne maximální limit rychlosti přenášených dat v Kbit/s. |
-P | bude se spojovat na jiný než defaultní(nebo v configu nastavený) port |
-p | zachová původní přístupová práva a časová razítka |
-q | tichý mod, nevypisuje jak kopírování pokročilo |
-r | rekurzivní kopírování adresářů |
-v | ukecaný mod |
místí soubor
je soubor či adresář na místním počítači
vzdaleny_kopirovany_soubor
je soubor či adresář na vzdáleném počítači
Uživatel
jméno uživatele, pod kterým se přihlašujeme na vzdálený počítač. pokud jej vynecháme, použije se jméno aktuálně přihlášeného uživatele, případně
jméno nadefinované v ssh_config
IP adresa
je adresa, nebo resolvovatný nýzev počítače, na který se přihlašujeme
kam_se_ulozi
je cesta na vzdáleném/místním (podle směru kopírování) počítači. Důležité je, aby uživatel, pod kterým se připojujete měl práva do tohoto umístnění zapisovat
SFTP
je již více sofistikovaný. Je to nadstavba SSH a ovládání má velice podobné ftp klientovi. Přihlašování je stejné jako do ssh a po přihlášení očekává od uživatele příkazy
-C zapíná kompresi
interaktivní příkazy
bye | odpojení |
chgrp skupina cesta | změní skupinu souborů |
chmod prava cesta | změní práva souboru |
chown uzivatel cesta | změní vlastníka souborů |
get [-P] vzdalena_cesta lokalní_cesta | stáhne soubor ze vzdáleného počítače na místní. S parametrem -P zachová původní práva |
lcd cesta | vstoupí do uvedeného adresáře na lokálním stroji |
lls [volby] [cesta] | vylistuje soubory v aktuálním/nastaveném lokálním adresáři. Volby jsou stejné jako pro příkaz ls |
lmdir cesta | vytvoří na lokálním PC adresář |
ln stara_cesta Nova_cesta | vytvoří symlink z stara_cesta na Nova_cesta |
lpwd | vypíše aktuální adresář |
ls | vylistuje soubory v aktuálním/nastaveném vzdáleném adresáři. Dostupné volby:
-1 vytvoří jednosloupcový výstup
-a zobrazí soubory začínající tečkou (skryté)
-f netříděný výstup. Defaultně jsou soubory řazeny podle slovníku
-l vypíše i informace o právech a vlasníkovi
-n s parametrem -l informace o právech a vlasníkovi převede číselnou podobu
-r řazení v obráceném pořadí
-S seřadí podle velikosti
-t seřadí podle času modifikace |
lumask číslo | nastaví lokálnímu souboru umask |
mkdir cesta | vytvoří na vzdáleném stroji adresář |
progress | vypíná/zapíná měřák činnosti |
pwd | zobrazí aktuální umístnění na vzdáleném stroji |
quit | ukončí program |
rename stara_cesta Nova_cesta | přejmenuje soubor |
rm cesta | smaže vzdálený soubor |
rmdir cesta | smaže vzdálený adresář |
symlink stara_cesta Nova_cesta | stejné jako ln |
verzion | zobrazí verzi protokolu |
! příkaz | spustí příkaz v lokálním shellu |
! | vyskočí zpět do shellu |
Přesměrování portů
Využití to najde pokud se potřebujete skrz internet připojit na
nešifrované ftp, poštovní účet, nebo třeba nějakou intranetovou
aplikaci.
Existují na to 2 příkazy
-L portA:host2:portB
což znamená, že bude SSH poslouchat na vašem(lokálním)počítači na portu A
-R portA:host2:portB
což znamená, že bude SSH poslouchat na druhém(vzdáleném)počítači na portu A
v praxi to znamená toto
ssh -L 2121:CilovyPocitac:21 uzivatel@ServerSSH.domena.cz
-L 2121 | poslouchá na lokálním počítači na portu 2121 |
CilovyPocitac:21 | připojí se na počítač za SSH serverem ve vnitřní síti na port 21 |
uzivatel | který má účet na SSH serveru |
ServerSSH.domena.cz | server pomocí kterého se připojujeme dovnitř sítě |
pokud se potřebujete dostat na vzdálenou plochu woken na kompu ve vnitřní síti, tak tunel uděláte příkazem
ssh -N -f -L33089:CilovyPocitac:3389 uzivatel@IP
-N -f | nespouštět vzdálené příkazy a spustit na pozadí |
-L33089 | poslouchá na lokálním počítači na portu 33089 |
CilovyPocitac:33089 | připojí se na počítač za SSH serverem ve vnitřní síti na port 33089 |
IP | server pomocí kterého se připojujeme dovnitř sítě(můžem použít i název definovaný v DNS,např server.cz) |
a zobrazíte na u sebe
rdesktop localhost:33089
Takto vytvořený tunel se musí pak zastavit příkazem
kill
ve woknech si spustíte putty
V levém sloupci
(category) si dole rozkliknete
Conection,SSH,Tunnels
V pravém sloupci do políčka
source port vyplníte port na kterem
poslouchá váš počítač a do kolonky destination vyplníte IP adresu a
port cílového stroje
(192.168.0.100:3389)
na který se budete připojovat.
Přímé spouštění příkazů na vzdáleném stroji
je možné pomocí ssh na vzdáleném stroji spustit příkaz, bez toho, že by jste se přihlásili do shellu
syntaxe je následující
ssh jmeno@adresa prikaz
konkrétně třeba
ssh jarda@server.doma.cz ls -la
Autentizace bez hesla
Je to výhodné,pokud chcete připojit uživatelovu stanici na server bez toho,aby Uživák musel něco zadávat
v home adresáři Uživáka na serveru je možno ještě v
bash.profile nastavit aplikaci,která se spustí po
přihlášení + nastavit trap,aby nemohl nikam jinam a prakticti tím eliminujeme všechny pokusy o
jakékoliv nepřístojnosti na serveru.
-Přihlásit se na stanici jako uživatel,pro kteráho se bude generovat klíč
-Vygenerovat klíč příkazem
ssh-keygen –d
(-d generuje klíč DSA,-t generuje TSA- - Dulezita poznamka - zde pozor na verze!
V SSH2 se patricne soubory jmenuji napriklad id_dsa, id_dsa.pub a authorized_keys2,
a pri vyvareni klicu je potreba ssh-keygen upozornit,
aby generoval DSA klice. Servery jsou vetsinou nakonfigurovane tak,
ze pokud server i klient umi SSH2, pouziji jej. U jednou navazaneho
spojeni ale neni zadna moznost navratu k predchozi verzi protokolu,
RSA autentizace neni v SSH2 podporovana a pokud jste si vygenerovali RSA klice,
DSA autentizace se nezdari a vetsinou dojde k fallbacku na "password".)
pak se odehrava zhruba toto :
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): #ponechat bez hesla
Enter same passphrase again: #ponechat bez hesla
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
fe:b2:cc:f0:d3:1d:bd:49:9c:27:3f:b9:5b:24:69:93 uzivatel@server
Vytvori se dva soubory v HOME adresari uzivaka ( vetsinou je to adresar .ssh ) a v nem jsou napriklad soubory :
-rw------- 1 root root 887 Feb 2 11:43 id_dsa
-rw-r--r-- 1 root root 223 Feb 2 11:43 id_dsa.pub
-Obsah souboru s priponou
.pub musis dostat na druhy server k uzivateli ktery
ma akceptovat pripojeni ssh bez hesla pomoci rsa klice.Opet v jeho
HOME adresari bude adresar
.ssh , v nem budte je nebo neni soubor :
authorized_keys , pokud neni vytvor ho a pokud je pridej tam obsah vygenerovaneho id_rsa.pub
-Přepnout se do adresáře
.ssh na stanici USERA1
cd /home/jmeno_uzivatele/.ssh
-přenést obsah souboru
id_dsa.pub na server do souboru
authorized_keys'
cat ./id_dsa.pub | ssh jmeno_uzivatel@IP_severu 'cat >> /home/jmeno_uzivatele/.ssh/authorized_keys'
POZNÁMKA
Pokud se má více userů(počítačů) logovat na stejný server,je možné u každého zopakovat předcházející postup,nebo:
-USER2 nemusí nic generovat,jen použije klíč USERA1 na přihléšení k serveru.
-nejdříve je třeba na počítači USERA1 zkopírovat soubor /home/USER1/.ssh/id_dsa na počítač USERA2 příkazem
scp /home/USER1/.ssh/id_dsa jméno_uživatele@IP_počítače_usera2:/home/USER2/.ssh
poté je možno se přihlašovat
Vzdálené vynucené příkazy a chování
Jsou příkazy, které se spustí při přihlášení pomocí klíče na server. Fungují pouze při přihlašování veřejným certifikátem. Postup , jak nakopírovat klíč je v předcházejícím odstavci
V HOME adresari bude adresar .ssh , v nem budte je soubor :
authorized_keys , pokud neni vytvořte ho a můžete zde uvádět příkazy, které ovlivnují chování SSH.
syntaxe souboru je následující:
prikaz1,prikaz2 klič
POZOR:příkazy se oddělují čárkou a bez mezery,vše je na jedné řádce. Pokud máte blbě syntaxi, tak vám to spadne do přihlášení heslem. Spuste si ssh -v nejakaIP a ono vám to vypíše, kde je chyba.
Tam kde se uvádí hodnota za = je třeba hodnotu dát do uvozovek
příklad
command="who" ssh-dss AAAA....gHHqM= jarda@backup.doma
každému klíči je možno definovat pouze jeden vzdálený příkaz (command), ale můžete nastavit i jiná chování, např.
from="192.168.0.1" omezí přihlášení pouze z této IP, ostatním se zobrazí žádost o heslo
environment="NAME=value" můžete si nastavit globální proměnné. Vylistujete si je příkazem set , nebo nadefinovat své proměnné. V /etc/ssh/sshd.config ale musí být povolena volba PermitUserEnvironment
příklad:
nastaví proměnnou LOGNAME
environment="LOGNAME=pokusak"
nastaví vlastní proměnnou MOJEPROM na hodnotu 1994
environment="MOJEPROM=1994"
no-agent-forwarding zakáže forvardování agenta
no-port-forwarding zakáže forvardování portů
no-pty zakáže interaktivní přístup
no-X11-forwarding zakáže forvardování X11
více o ssh na http://www.krypta.cz/articles.php?ID=145
Forwardování X11 vzdálené plochy
Můžeme si poslat vzdálenou linuxovou plochu na svůj počítač příkazem
ssh -X VzdalenyPocitac
pak budou všechny X-kové aplikace posílány SSHčkem na váš monitor
TIP:
kvůli robotům, co zkouší útoky na váš server se mi velice osvědčila změna portu na jiný než defaultní (22). Chtěl jsem si napsat script, který by
tyto útoky blokoval, ale změna portu způsobila, že na mě prakticky nikdo neútočí. Pokud by někdo chtěl cíleně zaútočit přímo na můj server, lehce by zjistil, které porty jsou otevřeny a
na kterém poslouchá SSH. Ale většinu pokusů mají na svědomí boti a ti postupují ve většině případů tak, že zkouší spojení jen na port 22 a přihlašovat se na něj pod nějakým jménem (většinou osobním jménem) a stejným heslem jako je jméno.