ฉันจะเริ่มต้นอุโมงค์ SSH -D โดยอัตโนมัติเมื่อเข้าสู่ระบบสำหรับพร็อกซี SOCKS ได้อย่างไร


9

ฉันรู้ว่าถ้าฉันต้องการเริ่มอุโมงค์ SSH

ssh -d 9000 user@userserver

นี่เป็นทางออกหนึ่งสำหรับอุโมงค์แบบไดนามิกที่จะเปิดบนพอร์ต 9000 สำหรับผู้ใช้ที่ชื่อ "ผู้ใช้" บนโฮสต์ "userserver"

อย่างไรก็ตามฉันจะทำให้กระบวนการนี้เป็นอัตโนมัติใน Ubuntu ได้อย่างไรโดยไม่ต้องเปิดเทอร์มินัลทุกครั้งที่ฉันเข้าสู่ระบบและเริ่มอุโมงค์ ฉันต้องการที่จะเป็น SSH ในขณะที่ฉันเข้าสู่ระบบ

ฉันรู้ว่าฉันสามารถสร้างไฟล์ bash ได้ แต่ฉันจะไม่ต้องเก็บรหัสผ่านของผู้ใช้เซิร์ฟเวอร์ไว้ในรูปแบบธรรมดาเพราะฉันจะได้รับพร้อมท์หลังจากคำสั่งเริ่มต้นหรือไม่


3
คุณสามารถตั้งค่า ssh-keys แทนการใช้รหัสผ่าน (ดูpkeck.myweb.uga.edu/ssh ) แต่ไม่ว่าคุณจะติดตั้งระบบรักษาความปลอดภัยได้อย่างไรถ้าคุณทำการล็อกอินอัตโนมัติ ...
LassePoulsen

ไม่เกี่ยวกับคำถามของคุณ แต่ฉันขอแนะนำให้คุณลองใช้sshuttleเพื่อกำหนดเส้นทางอินเทอร์เน็ตผ่าน SSH มันไม่ได้แก้ปัญหาการเข้าสู่ระบบน้อยกว่ารหัสผ่าน
Oxwivi

หากคุณตั้งค่า SSH น้อยรหัสผ่านตามที่ฉันตอบ sshuttleสามารถเริ่มอัตโนมัติได้ (หมายเหตุsshuttleต้องใช้สิทธิ์ผู้ดูแลระบบเพื่อเรียกใช้)
Oxwivi

คำตอบ:


9
  1. ตั้งค่าการเข้าสู่ระบบ SSH น้อยกว่ารหัสผ่านตามคำตอบนี้ :

    • ssh-keygen (คุณจะได้รับแจ้งให้ใส่รหัสผ่านเว้นว่างไว้)

    • ssh-copy-id user@userserver (ป้อนรหัสผ่านการเข้าสู่ระบบ SSH ของคุณเป็นครั้งสุดท้าย)

  2. เพิ่มรายการเริ่มต้นสำหรับ SSH:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


@ สเตฟาโนขอขอบคุณ! เครดิตครึ่งหนึ่งไปที่รินซวินด์และมาร์โกที่ให้ความกระจ่างแก่ฉันเกี่ยวกับรหัสผ่านที่ไม่มี SSH ตั้งแต่แรก!
Oxwivi

1

วิธีการเกี่ยวกับการใช้การตั้งค่า ssh-key ตามที่แนะนำ Lab แต่การตั้งค่าคีย์ของคุณด้วยวลีรหัสผ่านและตรวจสอบให้แน่ใจว่า ssh-agent กำลังทำงานบนเครื่องของคุณดังนั้นจึงจำเป็นต้องป้อนเพียงครั้งเดียวต่อการเข้าสู่ระบบ

มีข้อดีเล็กน้อยที่จะทำเช่นนั้น: - คุณสามารถเข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านโดยอัตโนมัติ (นอกเหนือจากการบูท / เข้าสู่ระบบครั้งแรก) ทุกครั้งที่คุณออกคำสั่ง ssh - คีย์ของคุณมีวลีรหัสผ่าน มาตรฐานและจะได้รับการสนับสนุนจากการติดตั้งเซิร์ฟเวอร์ SSH ส่วนใหญ่

ในการตั้งค่าการรับรองความถูกต้องของคีย์ SSH:

วิธีใช้ ssh-agent / keychain (เพื่อแคชวลีรหัสผ่านตลอดเซสชันการล็อกอิน):

เท่าที่จะทำการสร้างอุโมงค์โดยอัตโนมัติเมื่อเริ่มต้นแนวคิดหนึ่งอาจสร้างเชลล์สคริปต์ด่วนซึ่งเริ่มต้นช่องสัญญาณ:

~$ sudo cat <<EOF >> /usr/local/bin/start_tunnel.sh
ssh-add # ensure key is added to agent
ssh -D 9000 user@userserver # substitute real server in here (of course)
EOF
~$ chmod +x /usr/local/bin/start_tunnel.sh

จากนั้นเพิ่มเป็นโปรแกรมเริ่มต้น (ระบบ -> การตั้งค่า -> แอปพลิเคชันเริ่มต้น) ควรใช้งานได้!


อย่างไรก็ตามมีการทำเช่นนี้ผ่านส่วนพร็อกซีเครือข่ายของการตั้งค่าใน Ubuntu หรือไม่? มีตัวเลือกสำหรับการตรวจสอบผู้ใช้และคุณสามารถป้อนชื่อผู้ใช้และรหัสผ่านล่วงหน้าได้หรือไม่ ในกรณีที่การเปลี่ยนแปลงการตั้งค่าของฉันฉันไม่ต้องการที่จะไปและ redit ไฟล์
dalanmiller

ฉันกลัวว่ามันจะไม่ได้ผลแม้แต่กับ autossh
skerit


-1
sudo ssh-keygen #type Enter everywhere
sudo cat /home/root/.ssh/ id_dsa.pub >> .ssh/authorized_keys

/etc/rc.localเพิ่มสตริง:

echo "ssh socks 192.168.0.1:8000" ; sudo ssh -fND 192.168.0.1:8000 localhost

โปรดจำไว้ว่าการตั้งค่าของคีย์ ssh นั้นมีไว้เฉพาะ การยอมรับพรอมต์ทั้งหมดโดยไม่สุ่มอ่านสิ่งที่กำลังทำอยู่อาจส่งผลต่อบริการ / ระบบของคุณ
Braiam
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.