SSD Nodes Learn Hosting plans →
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-30

Tor onion service ద్వారా SSH కనెక్ట్ అవ్వడం ఎలా?

ఏ పోర్ట్ తెరవకుండా Tor onion service ద్వారా SSH సెటప్ చేయండి. v3 client authorization మరియు సర్వర్ లాక్-అవుట్ కాకుండా ఉండేందుకు అవసరమైన ఖచ్చితమైన కాన్ఫిగరేషన్ దశలను ఇక్కడ చూడండి.

Tor onion service ద్వారా SSH వాడకం వల్ల కలిగే మార్పులు

Tor onion service ద్వారా SSH వాడటం వల్ల, ఏ పోర్ట్ ద్వారా కూడా ఇన్‌బౌండ్ కనెక్షన్‌లను అనుమతించని VPS ను మీరు నిర్వహించవచ్చు. సర్వర్ Tor నెట్‌వర్క్‌కు కనెక్ట్ అయ్యి, ఆ కనెక్షన్‌ను అలాగే ఉంచుతుంది. మీ SSH సెషన్ ఆ కనెక్షన్ ద్వారానే వస్తుంది, కాబట్టి పబ్లిక్ IP అడ్రస్‌పై ఏ సేవ కూడా వినాల్సిన (listen) అవసరం ఉండదు.

దీని ప్రభావం logs పై వెంటనే కనిపిస్తుంది. పబ్లిక్ SSH పోర్ట్ ఉన్న సర్వర్‌కు ప్రతిరోజూ వేల సంఖ్యలో విఫలమైన పాస్‌వర్డ్ ప్రయత్నాలు వస్తుంటాయి. sshd ను onion service వెనుకకు తరలించి, ఫైర్‌వాల్ వద్ద ఇన్‌బౌండ్ ట్రాఫిక్‌ను నిలిపివేస్తే, /var/log/auth.log లో మీరు ప్రారంభించిన సెషన్‌లు మాత్రమే నమోదవుతాయి.

దీనివల్ల కలిగే ఇబ్బంది ఏమిటంటే, ప్రతి అడ్మిన్ సెషన్ మార్గంలో tor ఉంటుంది. ఇది ఒక userspace daemon, కాబట్టి ప్రతి రీబూట్ తర్వాత మీరు లాగిన్ అవ్వడానికి ముందు ఇది ప్రారంభమై, బూట్‌స్ట్రాప్ అవ్వాలి. పోర్ట్‌ను మూసివేసే ముందే దీని గురించి ప్రణాళిక సిద్ధం చేసుకోండి, ఎందుకంటే ఒకవేళ ఇది విఫలమైతే, మీరు భౌతికంగా చేరుకోలేని మెషీన్‌కు యాక్సెస్‌ను కోల్పోయే ప్రమాదం ఉంది.

ఏదైనా చేసే ముందు తిరిగి ప్రవేశించే మార్గాన్ని సిద్ధం చేసుకోండి

SSH ఉపయోగించని recovery మార్గం సిద్ధంగా ఉండే వరకు ఏ పని ప్రారంభించవద్దు.

ఇప్పుడే మీ ప్రొవైడర్ కన్సోల్‌ను తెరవండి, కంట్రోల్ ప్యానెల్‌లోని VNC లేదా serial console ద్వారా లాగిన్ అవ్వండి. root పాస్‌వర్డ్ తెలియకపోతే, ముందుగా ప్యానెల్ నుండి root పాస్‌వర్డ్‌ను రీసెట్ చేయండి మరియు అది పనిచేస్తుందో లేదో నిర్ధారించుకోండి. మీరు ఎప్పుడూ పరీక్షించని కన్సోల్ recovery మార్గం కాదని గుర్తుంచుకోండి.

కింద పేర్కొన్న క్రమం చాలా ముఖ్యం. ప్రతి అడుగును తదుపరి అడుగుకు వెళ్లే ముందు పరీక్షించాలి, మరియు onion route పనిచేసే వరకు port 22 తెరిచి ఉంచాలి.

  1. tor ను ఇన్‌స్టాల్ చేసి, అది bootstraps అవుతుందో లేదో నిర్ధారించుకోండి.
  2. onion సేవను నిర్వచించి, దాని అడ్రస్‌ను చదవండి.
  3. port 22 తెరిచి ఉన్నప్పుడే onion ద్వారా కనెక్ట్ అవ్వండి.
  4. client authorisation ను జోడించి, ఆపై మళ్ళీ కనెక్ట్ అవ్వండి.
  5. sshd ను loopback కు bind చేసి, port 22 ను మూసివేయండి.
  6. రీబూట్ చేసి, ఆపై మళ్ళీ onion ద్వారా కనెక్ట్ అవ్వండి.

ప్రస్తుతం ఉన్న మీ SSH సెషన్‌ను మొత్తం ప్రక్రియలో తెరిచి ఉంచండి. ఇప్పటికే ఉన్న సెషన్ ఫైర్‌వాల్ మార్పుల వల్ల కొత్త కనెక్షన్లు బ్లాక్ అయినా కొనసాగుతుంది, కాబట్టి ఇది మీ మొదటి రక్షణ మార్గం.

సర్వర్‌లో tor ను ఇన్‌స్టాల్ చేయడం

Ubuntu తన సొంత రిపోజిటరీలో tor ను అందిస్తుంది, అయితే ఆ వెర్షన్ తరచుగా పాతదిగా ఉంటుంది. Tor Project రిపోజిటరీలో వారి డాక్యుమెంటేషన్‌లో పేర్కొన్న వెర్షన్ అందుబాటులో ఉంటుంది. వారి apt repository guide లోని కమాండ్లను ఉపయోగించి దానిని జోడించండి.

sudo apt update
sudo apt install -y apt-transport-https wget gpg
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null

/etc/apt/sources.list.d/tor.sources ను రాయండి. Suites మీ release codename ను తీసుకుంటుంది, దీనిని lsb_release -cs ప్రింట్ చేస్తుంది (Ubuntu 24.04 లో noble).

Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpg
sudo apt update
sudo apt install -y tor deb.torproject.org-keyring
sudo journalctl -u tor@default -n 20 --no-pager

లాగ్ Bootstrapped 100% (done) తో ముగియాలి. దాని కింద ఆగిపోయిందంటే tor నెట్‌వర్క్‌ను చేరుకోలేకపోతోందని అర్థం, ఇది దాదాపు ఎల్లప్పుడూ అవుట్‌బౌండ్ ఫైర్‌వాల్ నియమం లేదా తప్పుగా ఉన్న క్లాక్ (clock) వల్ల జరుగుతుంది.

Unit పేరు ఒక ఉచ్చు. ప్రతిదీ ఆరోగ్యంగా ఉన్నప్పుడు కూడా systemctl status tor అనేది Active: active (exited) అని చూపిస్తుంది, ఎందుకంటే Debian మరియు Ubuntu ప్యాకేజీలు tor ను మల్టీ-ఇన్‌స్టాన్స్ మాస్టర్ యూనిట్‌గా పరిగణిస్తాయి, దీని పని కేవలం అసలైన ఇన్‌స్టాన్స్‌ను ప్రారంభించడం మాత్రమే. Daemon స్వయంగా tor@default.service గా రన్ అవుతుంది. status మరియు journalctl కోసం ఆ పేరునే ఉపయోగించండి. tor ను start, stop మరియు reload చేయడం ద్వారా ఇన్‌స్టాన్స్ చేరుకోబడుతుంది, కాబట్టి sudo systemctl reload tor మీరు ఆశించిన విధంగానే పనిచేస్తుంది.

పోర్ట్ 22 కోసం ఆనియన్ సర్వీస్‌ను నిర్వచించడం

/etc/tor/torrc ఫైల్‌కు రెండు లైన్లను జోడించండి.

HiddenServiceDir /var/lib/tor/ssh/
HiddenServicePort 22 127.0.0.1:22

రెండవ లైన్, ఆనియన్ అడ్రస్‌పై వర్చువల్ పోర్ట్ 22ని స్వీకరించి, బాక్స్‌లోని 127.0.0.1:22 కి కనెక్ట్ అవ్వమని Torకు చెబుతుంది. Tor, loopback ద్వారా sshdని చేరుకుంటుంది; అందుకే sshd పబ్లిక్ అడ్రస్‌పై వినడం (listening) ఆపివేయవచ్చు. ఆ రెండవ లైన్‌ను 127.0.0.1:80 లోని వెబ్ సర్వర్‌కు మళ్లించడం ద్వారా, అదే రెండు ఆదేశాలతో ఆనియన్ అడ్రస్‌పై సైట్‌ను ప్రచురించవచ్చు, ఇది Tor ఇన్‌స్టాల్ చేసిన తర్వాత ఉపయోగపడే రెండవ సర్వీస్.

sudo systemctl reload tor
sudo cat /var/lib/tor/ssh/hostname

ఇది 56 బేస్32 క్యారెక్టర్లను, ఆ తర్వాత .onion ని ప్రింట్ చేస్తుంది. ఆ క్యారెక్టర్లు సర్వీస్ యొక్క పబ్లిక్ కీని ఎన్‌కోడ్ చేసిన రూపంలో ఉంటాయి. ఇందులో ఎటువంటి సర్టిఫికేట్ అథారిటీ లేదా పేరు నమోదు (name registration) ఉండదు.

/var/lib/tor/ssh/ ని Torనే స్వయంగా సృష్టించనివ్వండి. మీరు దీన్ని మాన్యువల్‌గా తప్పు ఓనర్‌తో లేదా 0700 కంటే తక్కువ భద్రత ఉన్న మోడ్‌తో సృష్టిస్తే, Tor దానిని ఉపయోగించడానికి నిరాకరిస్తుంది మరియు డైరెక్టరీకి అనుమతులు ఎక్కువగా ఉన్నాయని జర్నల్ నివేదిస్తుంది. లోపల ఉన్న ఫైళ్లు సర్వీస్ గుర్తింపును కలిగి ఉంటాయి: hs_ed25519_secret_key అదే ఆ అడ్రస్. ఆ డైరెక్టరీని 600 మోడ్‌తో బ్యాకప్ తీసి, బాక్స్ వెలుపల భద్రపరచండి, ఎందుకంటే అది పోతే కొత్త అడ్రస్ వస్తుంది మరియు ప్రతి క్లయింట్‌లో కాన్ఫిగరేషన్‌ను మార్చాల్సి ఉంటుంది.

మీ వర్క్‌స్టేషన్ నుండి కనెక్ట్ అవ్వండి

మీ వర్క్‌స్టేషన్‌కు ఒక tor క్లయింట్ అవసరం, దీనికి ఎటువంటి కాన్ఫిగరేషన్ అవసరం లేదు. Debian లేదా Ubuntu లో ఇది sudo apt install -y tor netcat-openbsd. అప్పుడు Tor, 127.0.0.1:9050 వద్ద SOCKS5 ప్రాక్సీగా వింటుంది (listen). SOCKS అనేది ఒక సాధారణ ప్రాక్సీ ప్రోటోకాల్, మరియు వెర్షన్ 5 IP అడ్రస్‌కు బదులుగా హోస్ట్‌నేమ్‌ను తీసుకువెళ్లగలదు, ఇక్కడ ఇదే ముఖ్యమైన అంశం.

OpenSSH కు సొంతంగా SOCKS క్లయింట్ లేదు, కాబట్టి కనెక్షన్ కోసం ఒక సహాయక ప్రోగ్రామ్ అవసరం. దీన్ని ~/.ssh/config కు జోడించండి.

Host myvps
  HostName xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.onion
  User admin
  ProxyCommand /usr/bin/nc -X 5 -x 127.0.0.1:9050 %h %p
  ServerAliveInterval 30

-X 5 అనేది SOCKS5 ను ఎంచుకుంటుంది మరియు -x 127.0.0.1:9050 స్థానిక tor ను సూచిస్తుంది. %h అనేది onion పేరును tor కు ఒక పేరుగా అందిస్తుంది, తద్వారా tor దానిని నెట్‌వర్క్ లోపల రిజాల్వ్ చేస్తుంది. ఇది ఖచ్చితంగా OpenBSD netcat అయి ఉండాలి. GNU netcat లో -X ఆప్షన్ లేదు మరియు అది nc: invalid option -- 'X' తో ఆగిపోతుంది.

ssh myvps

మొదటి కనెక్షన్ నెమ్మదిగా ఉంటుంది, ఎందుకంటే మరేదైనా జరిగే ముందు tor ఒక సర్క్యూట్‌ను నిర్మిస్తుంది. హోస్ట్ కీ ఫింగర్‌ప్రింట్‌ను మీరు ఎక్కడైనా అంగీకరించినట్లే అంగీకరించండి. ఇప్పటి నుండి సాధారణ SSH కీ నిర్వహణ యథాతథంగా వర్తిస్తుంది. రవాణా (transport) మారింది, కానీ ప్రామాణీకరణ (authentication) మారలేదు.

ఒక్కసారి మాత్రమే ఉపయోగించడానికి మీరు కాన్ఫిగరేషన్ ఎంట్రీని దాటవేయవచ్చు: torsocks ssh admin@xxxxx.onion అదే పనిని చేస్తుంది.

v3 క్లయింట్ ఆథరైజేషన్‌ను జోడించడం

ప్రస్తుత స్థితిలో, మీ SSH బ్యానర్‌ను ఎవరైనా కనుగొంటే, వారు అడ్రస్‌ను తెలుసుకుని పాస్‌వర్డ్ ఊహించడం ప్రారంభించవచ్చు. Onion అడ్రస్‌లను డైరెక్టరీ సిస్టమ్ నుండి సేకరించడం సాధ్యం కాదు, కాబట్టి అడ్రస్ ఒక రహస్యంలా పనిచేస్తుంది. కానీ ఇది షెల్ హిస్టరీ, git రిపోజిటరీలో కమిట్ చేసిన కాన్ఫిగరేషన్ ఫైల్స్ వంటి సాధారణ మార్గాల ద్వారా లీక్ అయ్యే అవకాశం ఉంది. క్లయింట్ ఆథరైజేషన్ ఈ లోపాన్ని సరిచేస్తుంది. సర్వీస్ తన డిస్క్రిప్టర్‌ను ఒక క్లయింట్ కీతో ఎన్‌క్రిప్ట్ చేసి ప్రచురిస్తుంది. కాబట్టి, అడ్రస్ ఉండి కీ లేని వ్యక్తి సర్వీస్‌ను గుర్తించలేడు.

క్లయింట్‌పై x25519 కీ జంటను రూపొందించండి. ఇది Tor Project యొక్క క్లయింట్ ఆథరైజేషన్ గైడ్ నుండి తీసుకున్న పైప్‌లైన్, ఇందులో ఒక చిన్న మార్పు ఉంది.

openssl genpkey -algorithm x25519 -out /tmp/k1.prv.pem
grep -v " PRIVATE KEY" /tmp/k1.prv.pem | base64 -d | tail --bytes=32 | base32 | sed 's/=//g' > /tmp/k1.prv.key
openssl pkey -in /tmp/k1.prv.pem -pubout | grep -v " PUBLIC KEY" | base64 -d | tail --bytes=32 | base32 | sed 's/=//g' > /tmp/k1.pub.key

పైన పేర్కొన్న లైన్ల ప్రచురిత వెర్షన్ base64pem -dని ఉపయోగిస్తుంది, ఇది సాధారణ Ubuntu ఇన్‌స్టాలేషన్‌లో ఉండదు. అప్పుడు కమాండ్ base64pem: command not foundతో ఆగిపోతుంది. GNU base64 -d అదే PEM బాడీని డీకోడ్ చేస్తుంది, కాబట్టి దానికి బదులుగా దీన్ని ఉపయోగించండి.

సర్వర్‌పై, public కీని ఇన్‌స్టాల్ చేయండి.

sudo install -d -m 700 -o debian-tor -g debian-tor /var/lib/tor/ssh/authorized_clients
echo "descriptor:x25519:PASTE_PUBLIC_KEY_HERE" | sudo tee /var/lib/tor/ssh/authorized_clients/laptop.auth >/dev/null
sudo chown debian-tor:debian-tor /var/lib/tor/ssh/authorized_clients/laptop.auth
sudo systemctl reload tor

.authతో ముగిసే ఫైళ్లను మాత్రమే ఇది చదువుతుంది. దీన్ని laptop.auth.txtగా సేవ్ చేయకపోతే, tor ఆ ఫైల్‌ను ఎటువంటి ఎర్రర్ చూపకుండానే విస్మరిస్తుంది మరియు సర్వీస్ అడ్రస్ తెలిసిన ఎవరికైనా అందుబాటులో ఉంటుంది.

క్లయింట్‌పై, private కీని ఇన్‌స్టాల్ చేయండి. Ubuntuలో tor డెమోన్ debian-tor యూజర్‌గా రన్ అవుతుంది మరియు మీ హోమ్ డైరెక్టరీలోని ఫైళ్లను చదవలేదు, కాబట్టి ఆ డైరెక్టరీని ఆ యూజర్ యాక్సెస్ చేయగల ప్రదేశంలో ఉంచండి.

sudo install -d -m 700 -o debian-tor -g debian-tor /var/lib/tor/onion_auth
echo "ADDRESS_WITHOUT_DOT_ONION:descriptor:x25519:PASTE_PRIVATE_KEY_HERE" | sudo tee /var/lib/tor/onion_auth/myvps.auth_private >/dev/null
sudo chown debian-tor:debian-tor /var/lib/tor/onion_auth/myvps.auth_private
sudo chmod 600 /var/lib/tor/onion_auth/myvps.auth_private

క్లయింట్ యొక్క /etc/tor/torrcకి ClientOnionAuthDir /var/lib/tor/onion_authని జోడించి, torను రీలోడ్ చేయండి. ఒకవేళ మీరు torను మీ సొంత యూజర్‌గా రన్ చేస్తుంటే (ఉదాహరణకు macOSలో Homebrew బిల్డ్), ClientOnionAuthDirని ~/.tor/onion_authకి పాయింట్ చేయండి (mode 0700తో).

ఆ ఫైల్‌లోని అడ్రస్ అనేది .onion సఫిక్స్ లేని 56 అక్షరాల స్ట్రింగ్. పని పూర్తయిన తర్వాత /tmp/k1.prv.pem మరియు /tmp/k1.prv.keyలను తొలగించండి.

ఇప్పుడు రెండు వైపులా పరీక్షించండి. ssh myvps ద్వారా కనెక్షన్ ఇప్పటికీ జరగాలి. కీ లేని మెషిన్ నుండి అదే అడ్రస్‌కు కనెక్ట్ అవ్వడానికి ప్రయత్నిస్తే అది విఫలం కావాలి. ఆ వైఫల్యమే ఆథరైజేషన్ యాక్టివ్‌గా ఉందని మీకు నిరూపిస్తుంది.

Port 22ను ఈ క్రమంలో మూసివేయండి

ముందుగా ఒక సేఫ్టీ నెట్‌ను ఏర్పాటు చేసుకోండి. మీరు పొరపాటున లాక్ అయిపోతే, ఈ కింది మార్పులను పదిహేను నిమిషాల తర్వాత వెనక్కి తీసుకునేలా ఈ కమాండ్ పనిచేస్తుంది.

sudo systemd-run --on-active=15m --unit=ssh-rescue \
  /bin/sh -c 'ufw allow 22/tcp; rm -f /etc/systemd/system/ssh.socket.d/override.conf; systemctl daemon-reload; systemctl restart ssh.socket'

మీరు onion route ఇంకా పనిచేస్తోందని నిర్ధారించుకున్నాక, sudo systemctl stop ssh-rescue.timer తో దీన్ని రద్దు చేయండి.

తర్వాత, public address పై sshd వినకుండా (listening) ఆపివేయండి. Ubuntu 24.04 లో ssh ఒక socket unit ద్వారా యాక్టివేట్ అవుతుంది, కాబట్టి sshd_config లోని ListenAddress పట్టించుకోబడదు: sshd కాదు, ssh.socket నే listening socket ను కలిగి ఉంటుంది. మీరు ఏ స్థితిలో ఉన్నారో తనిఖీ చేయండి.

systemctl is-enabled ssh.socket

అది enabled అని చూపిస్తే, sudo systemctl edit ssh.socket రన్ చేసి, దీన్ని జోడించండి.

[Socket]
ListenStream=
ListenStream=127.0.0.1:22

ఖాళీగా ఉన్న ListenStream= ప్యాకేజీ యూనిట్ నుండి వచ్చిన విలువను తొలగిస్తుంది. ఆ లైన్‌ను వదిలేస్తే, మీరు పబ్లిక్ లిజనర్‌ను అలాగే ఉంచి రెండో లిజనర్‌ను జోడిస్తారు; ఈ దశలో చాలామంది చేసే సాధారణ పొరపాటు ఇదే.

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
ss -tlnp | grep ':22'

ss అనేది 127.0.0.1:22 ను చూపాలి మరియు 0.0.0.0:22 పై ఏమీ ఉండకూడదు. ఒకవేళ ssh.socket డిసేబుల్ అయి ఉంటే, /etc/ssh/sshd_config.d/10-onion.conf లో ListenAddress 127.0.0.1 ను ఉంచి, sudo systemctl restart ssh రన్ చేసి, ఆపై అదే ss లైన్‌తో తనిఖీ చేయండి. ఆ అవుట్‌పుట్ ఏదైనా సరే, అది మీ నిర్ధారణకు సాక్ష్యం.

తర్వాత firewall, ఇది సాధారణ VPS పై ufw రూల్ నిర్వహణ. ముందుగా sudo ufw status numbered రన్ చేసి, అందులో కనిపించే SSH రూల్‌ను తొలగించండి.

sudo ufw status numbered
sudo ufw delete allow OpenSSH
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw status verbose

అవుట్‌గోయింగ్ ట్రాఫిక్‌ను అనుమతించండి. Tor అనేది 443 మరియు 9001 వంటి పోర్ట్‌ల ద్వారా రిలేలకు కనెక్ట్ అవుతుంది, కాబట్టి outbound default-deny పాలసీ Tor బూట్‌స్ట్రాపింగ్‌ను ఆపివేస్తుంది మరియు మీకు మిగిలి ఉన్న ఏకైక ప్రవేశ మార్గాన్ని కూడా తొలగిస్తుంది. చాలా ప్రొవైడర్లు కంట్రోల్ ప్యానెల్‌లో ప్రత్యేకమైన నెట్‌వర్క్ ఫైర్‌వాల్‌ను కూడా నిర్వహిస్తారు. అక్కడ కూడా 22వ పోర్ట్‌ను మూసివేయండి, లేకపోతే ufw ఏమి చెప్పినా ఆ పోర్ట్ అందుబాటులోనే ఉంటుంది.

ఈ బాక్స్‌పై Docker నడుస్తుంటే, పని పూర్తయిందని అనుకునే ముందు దాని published ports ను తనిఖీ చేయండి. Docker తన సొంత రూల్స్‌ను అదే టేబుల్స్‌లో రాస్తుంది మరియు ufw ను దాటి కంటైనర్ పోర్ట్‌లను పబ్లిష్ చేస్తుంది, కాబట్టి ufw deny పాలసీ అనేది పూర్తి చిత్రం కాదు.

నమ్మకానికి ముందు రీబూట్ చేయండి

systemctl is-enabled tor@default
sudo reboot

మొదటి కమాండ్ సేవను enabled అని చూపకపోతే, మీరు రీబూట్ చేసే ముందు sudo systemctl enable tor@default రన్ చేయండి. రెండు నిమిషాలు వేచి ఉండి, ఆపై ssh myvps చేయండి. బూట్ అయిన తర్వాత Tor బూట్‌స్ట్రాప్ అవ్వాలి, కాబట్టి మెషిన్ ఆన్ అయిన కొంత సమయం తర్వాతే onion అడ్రస్ స్పందించడం ప్రారంభిస్తుంది.

ఒకవేళ అది తిరిగి రాకపోతే, కన్సోల్ ఓపెన్ చేసి sudo journalctl -u tor@default -b చదవండి. అక్కడ torrc సింటాక్స్ ఎర్రర్ లేదా డైరెక్టరీ పర్మిషన్ సమస్య ముద్రించబడి ఉంటుంది. మీరు torrc ని అప్లై చేసే ముందు దాని ఎడిట్‌ను కూడా సరిచూసుకోవచ్చు.

sudo -u debian-tor tor --verify-config

WireGuard టన్నెల్‌తో పోలిస్తే దీని ఖర్చు ఏమిటి

మీ స్వంత VPSలో WireGuard VPN తో పోలిస్తే, onion service నెమ్మదిగా ఉంటుంది మరియు ఊహించలేము. మీరు దీనిని ఎంచుకునే ముందు ఈ మార్పు వల్ల కలిగే పరిణామాల గురించి నిజాయితీగా ఆలోచించండి.

Latency (జాప్యం). క్లయింట్ సర్క్యూట్ మూడు రిలేలను కలిగి ఉంటుంది మరియు సర్వీస్ వైపు మరో మూడు రిలేలు ఉంటాయి, కాబట్టి మీ కీస్ట్రోక్‌లు ప్రపంచవ్యాప్తంగా యాదృచ్ఛికంగా ఎంపిక చేయబడిన సుమారు ఆరు మెషీన్ల గుండా వెళ్తాయి. ఇంటరాక్టివ్ టైపింగ్‌లో కనిపించే జాప్యం ఉంటుంది మరియు ఫైల్ కాపీలు నెమ్మదిగా జరుగుతాయి. WireGuard కేవలం ఒకే ఒక హాప్‌ను జోడిస్తుంది. మీ సొంత సందర్భంలో time ssh myvps 'echo ok' తో కొలవండి, ఎందుకంటే ఈ విలువ tor ఏ సర్క్యూట్‌ను నిర్మించిందనే దానిపై ఆధారపడి ఉంటుంది మరియు tor మరొక సర్క్యూట్‌ను నిర్మించినప్పుడు ఇది మారుతుంది.

Critical pathలో యూజర్‌స్పేస్ డెమోన్. WireGuard కెర్నల్‌లో ఉంటుంది మరియు నెట్‌వర్క్‌తో పాటే ప్రారంభమవుతుంది. Tor అనేది ఒక ప్రాసెస్, ఇది ప్రారంభమై, బూట్‌స్ట్రాప్ అయ్యి, ఏదైనా పని చేసే ముందు ఒక గార్డ్ రిలేను చేరుకోవాలి. ఇది విఫలమైనప్పుడు, మీరు ప్రొవైడర్ కన్సోల్‌పై ఆధారపడాల్సి ఉంటుంది.

గడియారపు ఖచ్చితత్వం (Clock accuracy). Onion service డిస్క్రిప్టర్లు సమయ వ్యవధుల ఆధారంగా ప్రచురించబడతాయి, కాబట్టి గడియారం తప్పుగా ఉంటే అడ్రస్ లుకప్ ఎక్కడా స్పష్టమైన సందేశం లేకుండానే విఫలమవుతుంది. timedatectl అనేది System clock synchronized: yes అని రిపోర్ట్ చేయాలి.

దీని వల్ల మీకు లభించే ప్రయోజనం ఏమిటంటే, ఫైర్‌వాల్ రూల్ సరిగ్గా ఉందా లేదా అనే దానిపై మీ భద్రత ఆధారపడి ఉండదు. స్కాన్ చేయడానికి పోర్ట్ ఉండదు, సేకరించడానికి బ్యానర్ ఉండదు, మరియు అడ్రస్ స్వయంగా ఒక పబ్లిక్ కీ, కాబట్టి SSH ప్రారంభం కావడానికి ముందే ఎండ్‌పాయింట్ తన గుర్తింపును నిరూపించుకుంటుంది.

ఆచరణాత్మక పరిష్కారం సాధారణంగా ఈ రెండింటినీ ఉపయోగించడం. రోజువారీ అవసరాలకు WireGuardని వాడండి, మరియు WireGuard కాన్ఫిగరేషన్ తప్పుగా ఉన్నప్పుడు కూడా పనిచేసే మార్గంగా onion serviceని ఉంచుకోండి. దీనివల్ల పబ్లిక్ SSH పోర్ట్‌ను తెరిచి ఉంచే బదులు, ఒకే ఒక UDP పోర్ట్ తెరిచి ఉంటుంది. ఇవేవీ sshd ని హార్డెన్ చేయడం కు ప్రత్యామ్నాయం కావు: కీ-ఓన్లీ అథెంటికేషన్ మరియు నాన్-రూట్ లాగిన్ ఇప్పటికీ ముఖ్యమైనవి, ఎందుకంటే onion service నెట్‌వర్క్ మార్గాన్ని మాత్రమే రక్షిస్తుంది, అంతకు మించి ఏమీ చేయదు.

వైఫల్య రీతులు మరియు మీకు కనిపించే దోషాలు

Tor ఎప్పుడూ Bootstrapped 0% ని దాటదు. అవుట్‌బౌండ్ ట్రాఫిక్ నిరోధించబడింది లేదా క్లాక్ సమయం చాలా తేడాగా ఉంది. sudo ufw status verbose తో అవుట్‌గోయింగ్ పాలసీని తనిఖీ చేసి, ఆపై timedatectl ని రన్ చేయండి.

systemctl status tor ఇలా చెబుతోంది: active (exited). Debian మరియు Ubuntu లలో ఇది సాధారణం. దానికి బదులుగా tor@default ని చదవండి.

డిస్క్రిప్టర్ కనుగొనబడలేదు. Tor SOCKS ఎక్స్‌టెండెడ్ ఎర్రర్ F0 ని ఇస్తుంది, "Onion Service Descriptor Can Not be Found". డిస్క్రిప్టర్ ఇంకా పబ్లిష్ కాలేదు (రీలోడ్ తర్వాత దీనికి కొంత సమయం పడుతుంది) లేదా సర్వర్‌లో tor రన్ అవ్వడం లేదు.

F4, "Onion Service Missing Client Authorization". క్లయింట్ వద్ద tor ఉపయోగించగల సరిపోలే .auth_private లేదు. ClientOnionAuthDir అనేది torrc లో ఉందని, డైరెక్టరీ మోడ్ 0700 అని, ఫైల్‌నేమ్ .auth_private తో ముగుస్తుందని మరియు debian-tor దాన్ని చదవగలదని నిర్ధారించుకోండి.

F5, "Onion Service Wrong Client Authorization". ప్రైవేట్ కీ సర్వర్‌లోని .auth ఫైల్‌తో సరిపోలడం లేదు. బేస్32 స్ట్రింగ్‌లో చివరన ఉండే = లేదా అదనపు న్యూలైన్ దీనికి కారణం కావచ్చు.

nc: invalid option -- 'X'. OpenBSD వెర్షన్‌కు బదులుగా GNU netcat ఇన్‌స్టాల్ చేయబడింది. sudo apt install -y netcat-openbsd ని రన్ చేయండి.

Could not resolve hostname. ssh సాధారణ DNS ని ప్రయత్నించింది, దానికి .onion కోసం ఎటువంటి సమాధానం లేదు, కాబట్టి ProxyCommand రన్ కాలేదు. ~/.ssh/config లోని Host ప్యాటర్న్ మీరు టైప్ చేసిన పేరుతో సరిపోలడం లేదు.

Permission denied (publickey). టన్నెల్ పనిచేసింది మరియు tor పని పూర్తయింది. దీన్ని సాధారణ పర్మిషన్ డినైడ్ పబ్లిక్ కీ సమస్యగా పరిగణించండి మరియు ఇందులో tor ప్రమేయం లేదని గుర్తించండి.

FAQ

ఆనియన్ సర్వీస్ ఉంటే నా VPSలో ఓపెన్ పోర్ట్‌లు ఏవీ ఉండవని అర్థమా?

అవును, sshd ను 127.0.0.1 కి బైండ్ చేసి, ఫైర్‌వాల్ ఇన్‌బౌండ్ ట్రాఫిక్‌ను నిలిపివేసినప్పుడు ఇది నిజం. Tor ఒక రిలేకు అవుట్‌బౌండ్ TCP కనెక్షన్‌ను ఏర్పాటు చేస్తుంది, మీ సెషన్ దాని ద్వారానే తిరిగి వస్తుంది. కాబట్టి, పబ్లిక్ అడ్రస్‌పై ఏ కనెక్షన్‌ను సర్వర్ అంగీకరించదు. సర్వర్‌లో ss -tlnp రన్ చేసి, వేరే చోట నుండి పోర్ట్ స్కాన్ చేయడం ద్వారా దీన్ని నిర్ధారించుకోవచ్చు. ప్రొవైడర్ కంట్రోల్ ప్యానెల్‌లో ఉండే నెట్‌వర్క్ ఫైర్‌వాల్‌ను మర్చిపోవద్దు; ఇది ufw కంటే భిన్నమైనది మరియు దీన్ని కూడా క్లోజ్ చేయాలి.

SSH కోసం కేవలం .onion అడ్రస్ మాత్రమే సరిపోతుందా?

లేదు. ఈ అడ్రస్ 56 అక్షరాలను కలిగి ఉంటుంది, కాబట్టి దీన్ని ఊహించడం లేదా డైరెక్టరీ సిస్టమ్ నుండి కనుగొనడం సాధ్యం కాదు. ఇది ఒక రహస్యంలా పనిచేస్తుంది, కానీ షెల్ హిస్టరీ మరియు కాన్ఫిగరేషన్ ఫైల్స్ ద్వారా ఇది లీక్ అయ్యే అవకాశం ఉంది. కాబట్టి v3 క్లయింట్ ఆథరైజేషన్‌ను జోడించండి. దీనివల్ల, సర్వీస్ డిస్క్రిప్టర్ మీ క్లయింట్ కీతో ఎన్‌క్రిప్ట్ చేయబడుతుంది. అడ్రస్ మాత్రమే తెలిసిన వారికి extended error F4 వస్తుంది, వారు sshd ని చేరుకోలేరు.

రీబూట్ తర్వాత tor ప్రారంభం కాకపోతే ఏమి జరుగుతుంది?

మీకు SSH యాక్సెస్ పూర్తిగా పోతుంది, ఎందుకంటే ఆనియన్ అడ్రస్ మాత్రమే లోపలికి వెళ్లడానికి ఏకైక మార్గం. అందుకే పోర్ట్ 22 ను క్లోజ్ చేసే ముందు ప్రొవైడర్ కన్సోల్‌ను పరీక్షించాలి. బూట్ అయిన తర్వాత Tor బూట్‌స్ట్రాప్ అవ్వడానికి సమయం పడుతుంది, కాబట్టి మెషిన్ పింగ్‌కు స్పందించినప్పటికీ, అడ్రస్ స్పందించడానికి కొంత సమయం పడుతుంది. ఒకవేళ అస్సలు స్పందించకపోతే, కన్సోల్ ద్వారా లాగిన్ అయ్యి sudo journalctl -u tor@default -b ను చదవండి. అక్కడ torrc సింటాక్స్ ఎర్రర్ లేదా /var/lib/tor/ssh పై ఉన్న పర్మిషన్ సమస్యల గురించి సమాచారం ఉంటుంది.

WireGuard తో పోలిస్తే Tor ద్వారా SSH నెమ్మదిగా ఉంటుందా?

అవును, చాలా నెమ్మదిగా ఉంటుంది. ఆనియన్ సర్వీస్‌కు కనెక్షన్ సుమారు ఆరు రిలేల ద్వారా వెళ్తుంది, కానీ WireGuard నేరుగా మీ సర్వర్‌కు ఒక ఎన్‌క్రిప్టెడ్ హాప్ ద్వారా వెళ్తుంది. టైప్ చేసేటప్పుడు లాగ్ అనిపించవచ్చు మరియు ఫైల్ బదిలీలు నెమ్మదిగా ఉంటాయి. సాధారణంగా, రోజువారీ పనుల కోసం WireGuard ను, VPN కాన్ఫిగరేషన్ విఫలమైనప్పుడు అత్యవసర మార్గంగా ఆనియన్ సర్వీస్‌ను ఉపయోగించడం మంచి పద్ధతి.