Home Network จัดการเส้นทางการใช้งานข้อมูลด้วย Autossh(Port forward)

จัดการเส้นทางการใช้งานข้อมูลด้วย Autossh(Port forward)

by prtha112

โดยปกติเวลาเราใช้งานระบบอะไรซักอย่าง เราไม่สามารถที่จะเปิดเผย Port ฝั่ง Private ได้ทำให้บางครั้งบางทีเมื่อเราต้องการเข้าถึง Port นั้นจริงๆ เเต่จากคนละ Site กัน เช่นทำ Cluster Database ข้าม Site เเล้วงั้นจะทำไงล่ะถ้ามันอยู่ใน Private โดยปกติเราจะใช้ตัว Port forward ที่ติดมากับ linux อยู่เเล้วใช่มั้ยครับ เเต่ Autossh นี่จะเป็นตัวช่วยให้การเชื่อมต่อ Port สู่หลังบ้านมีความเสถียรมากขึ้น โดยที่ Process Port จะไม่ดับเลยทีเดียว

ติดตั้ง

sudo apt-get install autossh

หรือ

sudo wget http://www.harding.motd.ca/autossh/autossh-1.4e.tgz
sudo autossh

ตัวอย่าง

autossh -M 0 -fN -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -L interfaceip:24333:private_ip:5432 user@private_ip

อธิบาย

Option Meaning
-M คือ Monitor port หากไม่ต้องการใช้งานให้ใส่ 0
-f คือ runnig on background
-N คือ การเช็คตัวเองว่ารันอยู่หรือไม่
-o คือ การใส่ Option
-C คือ การ Compress Data
PubkeyAuthentication=yes เปิดใช้งานการเช็ค Authen ด้วย
public-key (ssh-keygen -t rsa)
StrictHostKeyChecking=false ปิดการเช็ค SSH Hot key
PasswordAuthentication=no ไม่ต้องใส่รหัสผ่าน
ServerAliveInterval=60 ตั้ง Timeout กรณีไม่ได้รับข้อมูลอะไรเป็นเวลา 60 วินาที
ServerAliveCountMax 3 ตั้งจำนวน Client connection

Note: อย่าลืมใส่ Public key ด้วยถ้าไม่ใส่จะรัน Autossh background ไม่ได้เพราะมันจะถามรหัส

ขั้นตอนเตรียม Puclic Key

ssh-keygen -t rsa
ssh user@private_ip mkdir -p .ssh
cat .ssh/id_rsa.pub | ssh user@private_ip 'cat >> .ssh/authorized_keys'
ssh user@private_ip 'sudo chmod 700 .ssh/'
ssh user@private_ip 'sudo chmod 640 .ssh/authorized_keys'

Note: สุดท้ายนี้ก็ใช้อย่างระมัดกันด้วยนะครับ อาจจะเป็นทางเลือกหนึ่งที่พอใช้ได้

ขอบคุณครับ^^

Related Posts

Leave a Comment