Практик жишээнүүд SSH
, гэхдээ сүлжээг илүү чадварлаг удирдах боломжтой.
Хэд хэдэн заль мэхийг мэддэг ssh
системийн администратор, сүлжээний инженер эсвэл аюулгүй байдлын мэргэжилтэнд хэрэгтэй.
SSH-ийн практик жишээ
SSH оймс прокси SSH туннель (порт дамжуулах) Гурав дахь хост руу SSH хонгил Урвуу SSH туннель SSH урвуу прокси SSH-ээр VPN суулгаж байна SSH түлхүүрийг хуулж байна (ssh-copy-id) Алсын тушаалын гүйцэтгэл (интерактив бус) Wireshark дээр алсаас пакет барих, үзэх Дотоод фолдерыг SSH-ээр дамжуулан алсын сервер рүү хуулж байна SSH X11 дамжуулалттай алсын GUI програмууд Rsync болон SSH ашиглан зайнаас файл хуулах Tor сүлжээгээр SSH SSH-аас EC2-н инстанц VIM ашиглан ssh/scp ашиглан текст файлуудыг засварлах Алсын SSH-г SSHFS-тэй дотоод хавтас болгон холбоно уу ControlPath ашиглан SSH-г үржүүлэх VLC болон SFTP ашиглан SSH-ээр видео дамжуулаарай Хоёр хүчин зүйлийн гэрчлэл SSH болон -J-тэй хосууд үсэрч байна iptables ашиглан SSH харгис хүчний оролдлогыг блоклох Порт дамжуулалтыг өөрчлөхийн тулд SSH Escape
Эхлээд суурь
SSH командын мөрийг задлан шинжилж байна
Дараах жишээнд алсын серверт холбогдох үед ихэвчлэн тохиолддог нийтлэг параметрүүдийг ашигладаг SSH
.
localhost:~$ ssh -v -p 22 -C neo@remoteserver
-v
: Дибаг хийх гаралт нь баталгаажуулалтын асуудалд дүн шинжилгээ хийх үед ялангуяа ашигтай байдаг. Нэмэлт мэдээллийг харуулахын тулд олон удаа ашиглах боломжтой.- p 22
: холболтын порт алсын SSH сервер рүү. 22-ыг зааж өгөх шаардлагагүй, учир нь энэ нь өгөгдмөл утга боловч хэрэв протокол өөр порт дээр байгаа бол бид параметрийг ашиглан үүнийг зааж өгнө.-p
. Сонсох портыг файлд зааж өгсөн болноsshd_config
форматаарPort 2222
.-C
: Холболтын шахалт. Хэрэв та удаан холболттой эсвэл олон текст хардаг бол энэ нь холболтыг хурдасгах болно.neo@
: @ тэмдэгтийн өмнөх мөр нь алсын сервер дээр баталгаажуулах хэрэглэгчийн нэрийг заана. Хэрэв та үүнийг зааж өгөөгүй бол энэ нь таны одоо нэвтэрсэн бүртгэлийн хэрэглэгчийн нэрээр (~$whoami) өгөгдмөл болно. Хэрэглэгчийг мөн параметр ашиглан тодорхойлж болно-l
.remoteserver
: холбогдох хостын нэрssh
, энэ нь бүрэн хангасан домэйн нэр, IP хаяг эсвэл локал хост файлын аль ч хост байж болно. IPv4 болон IPv6-г дэмждэг хосттой холбогдохын тулд командын мөрөнд параметрийг нэмж болно-4
буюу-6
зөв шийдвэрлэхийн тулд.
Дээрх бүх параметрүүдээс бусад нь сонголттой байдаг remoteserver
.
Тохируулгын файлыг ашиглах
Хэдийгээр олон хүн энэ файлыг мэддэг sshd_config
, командын үйлчлүүлэгчийн тохиргооны файл бас байдаг ssh
. Өгөгдмөл утга ~/.ssh/config
, гэхдээ үүнийг сонголтын параметр болгон тодорхойлж болно -F
.
Host *
Port 2222
Host remoteserver
HostName remoteserver.thematrix.io
User neo
Port 2112
IdentityFile /home/test/.ssh/remoteserver.private_key
Дээрх жишээний ssh тохиргооны файлд хоёр хостын оруулга байна. Эхнийх нь Порт 2222 тохиргооны параметрийг ашигладаг бүх хостуудыг хэлнэ. Хоёр дахь нь хостын хувьд гэсэн үг. алсын сервер өөр хэрэглэгчийн нэр, порт, FQDN болон IdentityFile ашиглах ёстой.
Тохируулгын файл нь тодорхой хостуудтай холбогдох үед дэвшилтэт тохиргоог автоматаар хэрэгжүүлэх боломжийг олгосноор бичих цагийг ихээхэн хэмнэнэ.
SCP ашиглан SSH дээр файл хуулж байна
SSH клиент нь файл хуулах өөр хоёр хэрэглүүртэй ирдэг шифрлэгдсэн ssh холболт. scp болон sftp командуудын стандарт хэрэглээний жишээг доороос үзнэ үү. Эдгээр командуудад олон ssh сонголтууд бас хамаатай гэдгийг анхаарна уу.
localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png
Энэ жишээнд файл mypic.png руу хуулсан алсын сервер хавтас руу /хэвлэл мэдээлэл/өгөгдөл гэж өөрчилсөн mypic_2.png.
Портын параметрийн ялгааг бүү мартаарай. Энд олон хүн хөөргөхдөө баригддаг scp
тушаалын мөрөөс. Энд портын параметр байна -P
, үгүй ээ -p
, яг ssh клиент шиг! Чи мартах болно, гэхдээ санаа зовох хэрэггүй, бүгд мартдаг.
Консолыг мэддэг хүмүүст зориулав ftp
, олон тушаалууд нь ижил төстэй байна sftp
. Та чадна түлхэх, тавих и lsзүрх хүссэнээрээ.
sftp neo@remoteserver
Практик жишээнүүд
Эдгээр жишээнүүдийн ихэнх нь янз бүрийн аргыг ашиглан үр дүнд хүрч болно. Манай бүхний нэгэн адил
1. SSH оймс прокси
SSH Proxy функц нь сайн шалтгаанаар 1-р байр юм. Энэ нь олон хүний ойлгосноос илүү хүчтэй бөгөөд танд алсын сервер хандах боломжтой аливаа системд нэвтрэх боломжийг олгодог бөгөөд бараг ямар ч програмыг ашиглана. ssh үйлчлүүлэгч нь нэг энгийн командын тусламжтайгаар SOCKS проксигоор дамжуулан траффикийг туннел хийх боломжтой. Алсын систем рүү чиглэсэн урсгал нь алсын серверээс ирэх болно гэдгийг ойлгох нь чухал бөгөөд үүнийг вэб серверийн бүртгэлд зааж өгөх болно.
localhost:~$ ssh -D 8888 user@remoteserver
localhost:~$ netstat -pan | grep 8888
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 23880/ssh
Энд бид TCP порт 8888 дээр оймс прокси ажиллуулдаг бөгөөд хоёр дахь тушаал нь сонсох горимд порт идэвхтэй байгаа эсэхийг шалгадаг. 127.0.0.1 үйлчилгээ нь зөвхөн localhost дээр ажилладаг болохыг харуулж байна. Бид ethernet эсвэл wifi гэх мэт бүх интерфэйсүүдийг сонсохын тулд арай өөр командыг ашиглаж болох бөгөөд энэ нь манай сүлжээн дэх бусад програмуудыг (хөтөч гэх мэт) ssh socks прокси ашиглан прокси үйлчилгээнд холбох боломжийг олгоно.
localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver
Одоо бид хөтчийг оймс прокситэй холбохоор тохируулж болно. Firefox дээр сонгоно уу Тохиргоо | Үндсэн | Сүлжээний тохиргоо. Холбох IP хаяг болон портыг зааж өгнө үү.
Таны хөтчийн DNS хүсэлтийг SOCKS прокси-ээр дамжуулж өгөхийн тулд маягтын доод талд байгаа сонголтыг анхаарна уу. Хэрэв та өөрийн дотоод сүлжээн дэх вэб траффикийг шифрлэхийн тулд прокси сервер ашиглаж байгаа бол DNS хүсэлтийг SSH холболтоор дамжуулахын тулд энэ сонголтыг сонгохыг хүсэх байх.
Chrome-д оймс проксиг идэвхжүүлж байна
Тодорхой командын мөрийн параметрүүдтэй Chrome-г ажиллуулснаар оймс прокси-г идэвхжүүлэхээс гадна хөтөчөөс DNS хүсэлтийг туннел хийх боломжтой болно. Итгэ, гэхдээ шалга. Ашиглах
localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"
Прокси ашиглан бусад програмуудыг ашиглах
Бусад олон програмууд бас оймс прокси ашиглаж болно гэдгийг санаарай. Вэб хөтөч бол тэдний хамгийн алдартай нь юм. Зарим програмууд нь прокси серверийг идэвхжүүлэх тохиргооны сонголттой байдаг. Бусад нь туслах хөтөлбөрт бага зэрэг тусламж хэрэгтэй байна. Жишээлбэл,
localhost:~$ proxychains rdesktop $RemoteWindowsServer
Оймс прокси тохиргооны параметрүүдийг proxychains тохиргооны файлд тохируулсан болно.
Зөвлөмж: Хэрэв та Windows дээр Linux-аас алсын ширээний компьютер ашигладаг бол? Үйлчлүүлэгчийг туршиж үзээрэй
FreeRDP . Энэ нь илүү орчин үеийн хэрэгжилт юмrdesktop
, илүү зөөлөн туршлагатай.
Оймс прокси ашиглан SSH ашиглах сонголт
Та кафе эсвэл зочид буудалд сууж байгаа тул найдваргүй WiFi ашиглахаас өөр аргагүй болно. Бид зөөврийн компьютерээсээ ssh прокси-г дотооддоо ажиллуулж, орон нутгийн Rasberry Pi дээр гэрийн сүлжээнд ssh туннелийг суулгадаг. Хөтөч эсвэл оймс проксид тохируулсан бусад программыг ашигласнаар бид гэрийн сүлжээн дэх сүлжээний дурын үйлчилгээнд хандах эсвэл гэрийн холболтоор интернетэд холбогдох боломжтой. Таны зөөврийн компьютер болон гэрийн серверийн хоорондох бүх зүйл (Wi-Fi болон таны гэрт интернетээр дамжуулан) SSH туннелд шифрлэгдсэн байдаг.
2. SSH туннель (порт дамжуулах)
Хамгийн энгийнээр хэлбэл, SSH туннель нь хонгилын нөгөө үзүүрт байгаа өөр порттой холбогдох локал систем дээрх портыг нээдэг.
localhost:~$ ssh -L 9999:127.0.0.1:80 user@remoteserver
Параметрийг харцгаая -L
. Үүнийг сонсохын орон нутгийн тал гэж ойлгож болно. Дээрх жишээн дээр порт 9999 нь localhost тал дээр сонсож, 80 портоор дамжуулан алсын сервер рүү дамжуулдаг. 127.0.0.1 нь алсын сервер дээрх localhost-ыг хэлнэ гэдгийг анхаарна уу!
Алхам дээшээ гарцгаая. Дараах жишээ нь дотоод сүлжээн дэх бусад хостуудтай сонсох портуудыг харуулдаг.
localhost:~$ ssh -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver
Эдгээр жишээн дээр бид вэб серверийн порт руу холбогдож байгаа боловч энэ нь прокси сервер эсвэл бусад TCP үйлчилгээ байж болно.
3. Гуравдагч талын хост руу SSH туннель
Бид ижил параметрүүдийг ашиглан алсын серверээс гуравдагч систем дээр ажиллаж байгаа өөр үйлчилгээ рүү хонгил холбох боломжтой.
localhost:~$ ssh -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver
Энэ жишээнд бид туннелийг алсын серверээс 10.10.10.10 дээр ажиллаж байгаа вэб сервер рүү дахин чиглүүлж байна. Алсын серверээс 10.10.10.10 хүртэлх урсгал SSH хонгилд байхаа больсон. 10.10.10.10 дээрх вэб сервер нь алсын серверийг вэб хүсэлтийн эх сурвалж гэж үзэх болно.
4. Урвуу SSH хонгил
Энд бид алсын сервер дээрх сонсох портыг тохируулах бөгөөд энэ нь манай localhost (эсвэл өөр систем) дээрх дотоод порт руу буцаж холбогдох болно.
localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver
Энэхүү SSH сесс нь алсын сервер дээрх 1999 портоос манай локал клиент дээрх 902 порт руу холболт үүсгэдэг.
5. SSH урвуу прокси
Энэ тохиолдолд бид ssh холболт дээрээ оймс прокси суулгаж байгаа боловч прокси серверийн алсын төгсгөлд сонсож байна. Энэхүү алсын прокситэй холбогдох холболтууд одоо хонгилоос манай локал хостоос ирсэн урсгал болж харагдана.
localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver
Алсын SSH хонгилын алдааг олж засварлах
Хэрэв танд алсын SSH сонголтууд ажиллахад асуудал байгаа бол холбогдоно уу netstat
, сонсох порт өөр ямар интерфэйсүүдтэй холбогдсон байна. Хэдийгээр бид жишээнүүдэд 0.0.0.0-ийг заасан боловч хэрэв утга нь байвал Gateway портууд в sshd_config тохируулагдсан Үгүй, тэгвэл сонсогч зөвхөн localhost (127.0.0.1)-тэй холбогдоно.
Аюулгүй байдлын анхааруулга
Туннель болон оймс проксиг нээснээр дотоод сүлжээний нөөцөд найдвартай бус сүлжээнд (Интернет гэх мэт) хандах боломжтой болохыг анхаарна уу. Энэ нь аюулгүй байдлын ноцтой эрсдэл байж болох тул сонсогч гэж юу болох, юунд хандах боломжтойг сайтар ойлгоорой.
6. SSH-ээр VPN суулгаж байна
Довтолгооны аргын мэргэжилтнүүдийн дунд түгээмэл хэрэглэгддэг нэр томъёо (пентестер гэх мэт) бол "сүлжээний тулгуур цэг" юм. Нэг систем дээр холболт тогтоосны дараа тэр систем нь сүлжээнд цааш нэвтрэх гарц болдог. Өргөнөөр шилжих боломжийг олгодог тулгуур цэг.
Ийм тулгуурын хувьд бид SSH прокси ашиглаж болно прокси сүлжээнүүд, гэхдээ зарим хязгаарлалтууд байдаг. Жишээлбэл, залгууруудтай шууд ажиллах боломжгүй тул бид сүлжээн дэх портуудыг сканнердах боломжгүй болно. SYN
.
Энэхүү илүү дэвшилтэт VPN сонголтыг ашигласнаар холболтыг багасгасан түвшин 3. Дараа нь бид стандарт сүлжээний чиглүүлэлтийн тусламжтайгаар туннелээр траффикийг чиглүүлэх боломжтой.
Арга ашигладаг ssh
, iptables
, tun interfaces
болон чиглүүлэлт.
Эхлээд та эдгээр параметрүүдийг тохируулах хэрэгтэй sshd_config
. Бид алсын болон үйлчлүүлэгчийн системийн интерфэйсүүдэд өөрчлөлт хийж байгаа тул бид хоёр талдаа root эрх хэрэгтэй.
PermitRootLogin yes
PermitTunnel yes
Дараа нь бид tun төхөөрөмжүүдийг эхлүүлэхийг хүссэн параметрийг ашиглан ssh холболт үүсгэнэ.
localhost:~# ssh -v -w any root@remoteserver
Интерфэйсийг харуулахдаа бид одоо tun төхөөрөмжтэй байх ёстой (# ip a
). Дараагийн алхам нь хонгилын интерфейсүүдэд IP хаягуудыг нэмэх болно.
SSH үйлчлүүлэгч тал:
localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up
SSH серверийн тал:
remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up
Одоо бид өөр хост руу шууд замтай байна (route -n
и ping 10.10.10.10
).
Та ямар ч дэд сүлжээг нөгөө талын хостоор дамжуулж болно.
localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0
Алсын талд та идэвхжүүлэх ёстой ip_forward
и iptables
.
remoteserver:~# echo 1 > /proc/sys/net/ipv4/ip_forward
remoteserver:~# iptables -t nat -A POSTROUTING -s 10.10.10.2 -o enp7s0 -j MASQUERADE
Өсөлт! Сүлжээний 3-р түвшний SSH туннелээр VPN. Одоо энэ бол ялалт.
Ямар нэгэн асуудал гарвал хэрэглээрэй ping
шалтгааныг тодорхойлох. Бид 3-р давхарга дээр тоглож байгаа тул бидний icmp пакетууд энэ хонгилоор дамжих болно.
7. SSH түлхүүрийг хуулах (ssh-copy-id)
Үүнийг хийх хэд хэдэн арга байдаг ч энэ команд нь файлуудыг гараар хуулахгүйгээр цаг хэмнэдэг. Энэ нь зүгээр л ~/.ssh/id_rsa.pub (эсвэл өгөгдмөл түлхүүр) -ийг таны системээс хуулдаг ~/.ssh/authorized_keys
алсын сервер дээр.
localhost:~$ ssh-copy-id user@remoteserver
8. Алсын тушаалын гүйцэтгэл (интерактив бус)
баг ssh
Нийтлэг, хэрэглэгчдэд ээлтэй интерфэйсийн хувьд бусад тушаалуудтай холбогдож болно. Алсын хост дээр ажиллуулах командаа хашилтын хамгийн сүүлийн параметр болгон нэмнэ үү.
localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php
Энэ жишээнд grep
бүртгэлийг ssh сувгаар татаж авсны дараа локал систем дээр гүйцэтгэгдэнэ. Хэрэв файл том бол түүнийг ажиллуулахад илүү тохиромжтой grep
хоёр тушаалыг давхар хашилтанд оруулах замаар алсын талд.
Өөр нэг жишээ нь ижил функцийг гүйцэтгэдэг ssh-copy-id
7-р жишээнээс.
localhost:~$ cat ~/.ssh/id_rsa.pub | ssh remoteserver 'cat >> .ssh/authorized_keys'
9. Wireshark дээр алсаас пакет авах, үзэх
Би манай нэгийг авсан
:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
10. Дотоод хавтасыг SSH-ээр алсын сервер рүү хуулах
Фолдерыг ашиглан шахдаг сайхан заль мэх bzip2
(энэ нь командын -j сонголт юм tar
), дараа нь дамжуулалтыг сэргээнэ bzip2
нөгөө талд, алсын сервер дээр давхардсан хавтас үүсгэх.
localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"
11. SSH X11 дамжуулалттай алсын GUI програмууд
Хэрэв X нь клиент болон алсын сервер дээр суулгасан бол та өөрийн дотоод ширээний компьютер дээрх цонхоор GUI командыг алсаас гүйцэтгэх боломжтой. Энэ функц нь удаан хугацааны туршид байсаар ирсэн боловч маш хэрэгтэй хэвээр байна. Миний энэ жишээн дээрх шиг алсын вэб хөтөч эсвэл VMWawre Workstation консолыг ажиллуулаарай.
localhost:~$ ssh -X remoteserver vmware
Шаардлагатай мөр X11Forwarding yes
файлд sshd_config
.
12. Rsync болон SSH ашиглан зайнаас файл хуулах
rsync
хамаагүй илүү тохиромжтой scp
, хэрэв танд лавлах, олон тооны файлууд эсвэл маш том файлуудыг үе үе нөөцлөх шаардлагатай бол. Дамжуулалтын алдааг сэргээх, зөвхөн өөрчилсөн файлуудыг хуулах функц байдаг бөгөөд энэ нь ачаалал, цагийг хэмнэдэг.
Энэ жишээ нь шахалтыг ашигладаг gzip
(-z) болон архивлах горим (-a) нь рекурсив хуулбарлах боломжтой.
:~$ rsync -az /home/testuser/data remoteserver:backup/
13. Tor сүлжээгээр дамжуулан SSH
Нэргүй Tor сүлжээ нь командыг ашиглан SSH урсгалыг туннел хийх боломжтой torsocks
. Дараах тушаал нь ssh проксиг Tor-оор дамжуулна.
localhost:~$ torsocks ssh myuntracableuser@remoteserver
14. SSH-аас EC2-ийн инстанц
EC2 инстанттай холбогдохын тулд танд хувийн түлхүүр хэрэгтэй. Үүнийг (.pem өргөтгөл) Amazon EC2 хяналтын самбараас татаж аваад зөвшөөрлийг өөрчилнө үү (chmod 400 my-ec2-ssh-key.pem
). Түлхүүрийг аюулгүй газар хадгалах эсвэл өөрийн хавтсанд байрлуул ~/.ssh/
.
localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public
Үзүүлэлт -i зүгээр л ssh үйлчлүүлэгчид энэ түлхүүрийг ашиглахыг хэлдэг. Файл ~/.ssh/config
ec2 хосттой холбогдох үед түлхүүрийн ашиглалтыг автоматаар тохируулахад тохиромжтой.
Host my-ec2-public
Hostname ec2???.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/my-ec2-key.pem
15. VIM ашиглан ssh/scp ашиглан текст файлуудыг засварлах
Бүх хайрлагчиддаа зориулав vim
Энэхүү зөвлөгөө нь цаг хугацаа хэмнэх болно. Ашиглах замаар vim
файлуудыг scp-ээр нэг тушаалаар засдаг. Энэ арга нь файлыг дотооддоо үүсгэдэг /tmp
дараа нь бид үүнийг хадгалсны дараа буцааж хуулна vim
.
localhost:~$ vim scp://user@remoteserver//etc/hosts
Анхаарна уу: формат нь ердийнхөөс арай өөр байна scp
. Хөтлөгчийн дараа бид давхар байна //
. Энэ бол үнэмлэхүй замын лавлагаа юм. Нэг налуу зураас нь таны гэрийн хавтастай холбоотой замыг заана users
.
**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])
Хэрэв та энэ алдааг олж харвал тушаалын форматыг давхар шалгана уу. Энэ нь ихэвчлэн синтаксийн алдаа гэсэн үг.
16. Алсын SSH-г SSHFS-тэй дотоод хавтас болгон холбох
Тусламжийн тусламжтайгаар sshfs
- файлын системийн үйлчлүүлэгч ssh
- бид шифрлэгдсэн сесс дотор бүх файлын харилцан үйлчлэл бүхий локал лавлахыг алслагдсан байршилд холбож болно ssh
.
localhost:~$ apt install sshfs
Багцыг Ubuntu болон Debian дээр суулгана уу sshfs
, дараа нь зүгээр л алсын байршлыг манай системд холбоно уу.
localhost:~$ sshfs user@remoteserver:/media/data ~/data/
17. ControlPath ашиглан SSH Multiplexing
Анхдагчаар, ашиглаж байгаа алсын серверт холболт байгаа бол ssh
ашиглан хоёр дахь холболт ssh
буюу scp
нэмэлт баталгаажуулалт бүхий шинэ сесс үүсгэнэ. Сонголт ControlPath
одоо байгаа сессийг дараагийн бүх холболтод ашиглах боломжийг олгодог. Энэ нь үйл явцыг ихээхэн хурдасгах болно: үр нөлөө нь локал сүлжээнд ч мэдэгдэхүйц бөгөөд алсын нөөцтэй холбогдох үед бүр илүү их байдаг.
Host remoteserver
HostName remoteserver.example.org
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
ControlPath нь идэвхтэй сесс байгаа эсэхийг шалгахын тулд шинэ холболтуудыг шалгах сокетыг зааж өгдөг ssh
. Сүүлийн сонголт нь таныг консолоос гарсны дараа ч гэсэн одоо байгаа сесс 10 минутын турш нээлттэй хэвээр байх тул энэ хугацаанд та одоо байгаа залгуур дээр дахин холбогдох боломжтой гэсэн үг юм. Дэлгэрэнгүй мэдээллийг тусламжаас үзнэ үү. ssh_config man
.
18. VLC болон SFTP ашиглан SSH-ээр видеог дамжуулах
Урт хугацааны хэрэглэгчид ч гэсэн ssh
и vlc
(Video Lan Client) нь сүлжээгээр видео үзэх шаардлагатай үед энэ тохиромжтой сонголтыг үргэлж мэддэггүй. Тохиргоонд Файл | Сүлжээний урсгалыг нээх хөтөлбөр vlc
гэж байршлыг оруулж болно sftp://
. Хэрэв нууц үг шаардлагатай бол сануулга гарч ирнэ.
sftp://remoteserver//media/uploads/myvideo.mkv
19. Хоёр хүчин зүйлийн баталгаажуулалт
Таны банкны данс эсвэл Google данстай ижил хоёр хүчин зүйлийн баталгаажуулалт SSH үйлчилгээнд хамаарна.
Мэдээжийн хэрэг, ssh
Эхэндээ хоёр хүчин зүйлийн баталгаажуулалтын функцтэй бөгөөд энэ нь нууц үг болон SSH түлхүүр гэсэн үг юм. Техник хангамжийн токен эсвэл Google Authenticator програмын давуу тал нь ихэвчлэн өөр физик төхөөрөмж байдаг.
Манай 8 минутын гарын авлагыг үзнэ үү
20. ssh болон -J-тэй хосууд үсрэх
Сүлжээний сегментчилэл нь эцсийн хүрэх сүлжээнд хүрэхийн тулд олон ssh хостоор дамжих шаардлагатай гэсэн үг бол -J товчлол нь таны цагийг хэмнэх болно.
localhost:~$ ssh -J host1,host2,host3 [email protected]
Энд ойлгох ёстой гол зүйл бол энэ нь тушаалтай ижил зүйл биш юм ssh host1
дараа нь user@host1:~$ ssh host2
гэх мэт. -J сонголт нь localhost-ыг гинжин хэлхээний дараагийн хосттой сесс байгуулахад хүчээр дамжуулахын тулд ухаалгаар ашигладаг. Тэгэхээр дээрх жишээн дээр манай localhost нь host4-д баталгаажсан байна. Өөрөөр хэлбэл, манай localhost түлхүүрүүдийг ашигладаг бөгөөд localhost-ээс host4 хүртэлх сесс бүрэн шифрлэгдсэн байдаг.
Ийм боломжийн хувьд ssh_config
тохиргооны сонголтыг зааж өгнө үү ProxyJump. Хэрэв та хэд хэдэн хостоор тогтмол дамжих шаардлагатай бол тохиргоогоор дамжуулан автоматжуулалт нь маш их цаг хэмнэх болно.
21. iptables ашиглан SSH brute force оролдлогыг блоклох
SSH үйлчилгээг удирдаж, бүртгэлийг үзсэн хэн бүхэн өдөр бүр цаг тутамд тохиолддог хэрцгий хүчний оролдлогуудын тоог мэддэг. Лог дахь дуу чимээг багасгах хурдан арга бол SSH-ийг стандарт бус порт руу шилжүүлэх явдал юм. Файлд өөрчлөлт оруулах sshd_config
тохиргооны параметрээр дамжуулан Порт##.
Тусламжийн тусламжтайгаар iptables
Мөн та тодорхой босго хүрэх үед порт руу холбогдох оролдлогыг хялбархан хааж болно. Үүнийг хийх хялбар арга бол ашиглах явдал юм
22. Порт дамжуулалтыг өөрчлөхийн тулд SSH Escape
Мөн бидний сүүлчийн жишээ ssh
Одоо байгаа сесс дотор порт дамжуулахыг өөрчлөхөд зориулагдсан ssh
. Энэ хувилбарыг төсөөлөөд үз дээ. Та сүлжээнд гүнзгий орсон; Магадгүй хагас арав гаруй хостуудыг ажиллуулж, хуучин Windows 2003 системийн Microsoft SMB руу дамжуулдаг ажлын станц дээр локал порт хэрэгтэй байж магадгүй (хүн ms08-67 санаж байна уу?).
Дарж байна enter
, консол руу орж үзнэ үү ~C
. Энэ нь одоо байгаа холболтод өөрчлөлт оруулах боломжийг олгодог сессийн удирдлагын дараалал юм.
localhost:~$ ~C
ssh> -h
Commands:
-L[bind_address:]port:host:hostport Request local forward
-R[bind_address:]port:host:hostport Request remote forward
-D[bind_address:]port Request dynamic forward
-KL[bind_address:]port Cancel local forward
-KR[bind_address:]port Cancel remote forward
-KD[bind_address:]port Cancel dynamic forward
ssh> -L 1445:remote-win2k3:445
Forwarding port.
Эндээс бид дотоод сүлжээнээс олсон Windows 1445 хост руу локал порт 2003-ыг дамжуулсан болохыг харж болно. Одоо зүгээр л гүй msfconsole
, мөн та үргэлжлүүлж болно (та энэ хостыг ашиглахаар төлөвлөж байгаа гэж үзвэл).
Дуусгавар болгох
Эдгээр жишээ, зөвлөмж, тушаалууд ssh
эхлэх цэгийг өгөх ёстой; Тушаал болон чадвар тус бүрийн талаарх дэлгэрэнгүй мэдээллийг man хуудаснаас авах боломжтой (man ssh
, man ssh_config
, man sshd_config
).
Дэлхийн хаана ч байсан системд нэвтэрч, командуудыг гүйцэтгэх чадвар нь миний сэтгэлийг үргэлж татсаар ирсэн. гэх мэт хэрэгслээр ур чадвараа хөгжүүлснээр ssh
Та тоглох ямар ч тоглоомд илүү үр дүнтэй байх болно.
Эх сурвалж: www.habr.com