คำถามติดแท็ก ssh-tunneling

ช่องสัญญาณ SSH จัดเตรียมช่องสัญญาณที่เข้ารหัสตามโปรโตคอล SSH

1
วิธีตั้งค่าการเปลี่ยนเส้นทางพอร์ตหลังจากเปิดการเชื่อมต่อ ssh แล้ว
ฉันใช้ openssh กับทั้งลูกค้าและเซิร์ฟเวอร์ ฉันรู้ว่าฉันสามารถเรียกใช้ssh -Lหรือssh -Rตั้งค่าการเปลี่ยนเส้นทางพอร์ตผ่าน ssh อย่างไรก็ตามเนื่องจากเป็นพารามิเตอร์บรรทัดคำสั่งการเปลี่ยนเส้นทางดังกล่าวจะต้องเขียนก่อนที่การเชื่อมต่อจะเปิดขึ้น ฉันสามารถตั้งค่าการเปลี่ยนเส้นทางพอร์ตแบบทันทีโดยใช้ไคลเอนต์บรรทัดคำสั่ง ssh ได้หรือไม่ เมื่อฉันใช้PuTTYไคลเอนต์ ssh ฉันสามารถตั้งค่าการเปลี่ยนเส้นทางพอร์ตแบบโต้ตอบได้ในขณะที่การเชื่อมต่อนั้นเปิดขึ้นโดยไม่ปล่อยหรือไม่เชื่อมต่อใหม่ดังนั้นฉันจึงรู้ว่าเป็นไปได้ทางเทคนิค

4
วิธีการ ssh -Y จากนั้น su - <ผู้ใช้อื่น> และยังคงส่งต่อแอปพลิเคชัน X ไปยังเครื่องท้องถิ่นของคุณ
มันง่ายพอที่จะ 'ดึงข้อมูล' (เช่นวาดในเครื่อง) แอปพลิเคชัน linux ที่ทำงานจากระยะไกล: หากฉันssh -Yไปยังเครื่องระยะไกลและเรียกใช้แอปพลิเคชันแอปพลิเคชันนั้นจะปรากฏขึ้นอย่างเพียงพอ อย่างไรก็ตามหากในขณะที่ฉันอยู่ในเครื่องระยะไกลฉันsuเป็นผู้ใช้คนอื่นฉันไม่สามารถส่งต่อแอปพลิเคชัน X ไปยังเครื่องท้องถิ่นของฉันได้ wrong authenticationมันบอกว่า ฉันไม่แน่ใจว่าจะจัดการกรณีนี้ได้อย่างไร echo $DISPLAYยังคงเป็นที่ถูกต้อง (กำหนดโดยเริ่มต้นssh -Yการเข้าสู่ระบบ) แต่คุกกี้เซสชั่นอาจมีการตั้งค่าเฉพาะสำหรับผู้ใช้เริ่มต้นที่ลงทะเบียน SSH ฉันจะเอาชนะความยากลำบากนี้และส่งต่อแอปพลิเคชั่น X อื่น ๆ ที่เรียกใช้จากผู้ใช้อื่นได้อย่างไร เหตุผลที่ฉันไม่ได้โดยตรงเพราะฉันไม่ต้องการให้ผู้ใช้นั้นสามารถเข้าถึงผ่าน ssh (เป็นผู้ใช้ "virtualbox" ซึ่งเห็นได้ชัดว่าเป็นเป้าหมายที่ง่ายสำหรับบอทที่พยายาม ssh ไปยังเซิร์ฟเวอร์นั้น) ...
13 x11  ssh-tunneling  su 

4
กำหนดพอร์ตที่จัดสรรแบบไดนามิกสำหรับ OpenSSH RemoteForward
คำถาม (TL; DR) เมื่อกำหนดพอร์ตแบบไดนามิกสำหรับการส่งต่อระยะไกล ( -Rตัวเลือกaka ) สคริปต์บนเครื่องระยะไกล (ตัวอย่างเช่นที่มาจาก.bashrc) จะกำหนดว่าพอร์ตใดถูกเลือกโดย OpenSSH พื้นหลัง ฉันใช้ OpenSSH (ทั้งสองด้าน) เพื่อเชื่อมต่อกับเซิร์ฟเวอร์กลางของเราที่ฉันแบ่งปันกับผู้ใช้อื่น ๆ สำหรับเซสชันระยะไกลของฉัน (ตอนนี้) ฉันต้องการส่งต่อ X, ถ้วยและ pulseaudio สิ่งที่สำคัญที่สุดคือการส่งต่อ X โดยใช้-Xตัวเลือก ที่อยู่ X ที่จัดสรรจะถูกเก็บไว้ในตัวแปรสภาพแวดล้อมDISPLAYและจากนั้นฉันสามารถกำหนดพอร์ต TCP ที่สอดคล้องกันได้ในกรณีส่วนใหญ่อย่างไรก็ตาม DISPLAYแต่ผมแทบจะไม่เคยต้องเพราะเกียรตินิยม Xlib ฉันต้องการกลไกที่คล้ายกันสำหรับถ้วยและพูลซีดิโอ พื้นฐานสำหรับบริการทั้งสองมีอยู่ในรูปแบบของตัวแปรสภาพแวดล้อมCUPS_SERVERและPULSE_SERVERตามลำดับ นี่คือตัวอย่างการใช้งาน: ssh -X -R12345:localhost:631 -R54321:localhost:4713 datserver export CUPS_SERVER=localhost:12345 lowriter #and I can print using my …

2
หมายเลขสถานีในข้อความแสดงข้อผิดพลาด ssh หมายถึงอะไร
ในตัวอย่างด้านล่างหมายเลขช่องตรงกับอะไร? เซิร์ฟเวอร์ใดอยู่ ลูกค้าคนไหน $ ssh -L1570:127.0.0.1:8899 root@thehost Password: Last login: Fri Aug 9 13:08:44 2013 from theclientip Sun Microsystems Inc. SunOS 5.10 Generic January 2005 You have new mail. # channel 2: open failed: administratively prohibited: open failed channel 3: open failed: administratively prohibited: open failed channel 2: open failed: …

3
มีข้อเสียใน SSH tunneling หรือไม่?
เมื่อเร็ว ๆ นี้ฉัน "ซื้อ" VPS ที่ฉันต้องการใช้เป็นพร็อกซีเพื่อให้สามารถใช้บางไซต์และบางสิ่งที่ฉันไม่สามารถเข้าถึงได้จากประเทศเยอรมนี เนื่องจากฉันยังขี้เกียจเกินไปที่จะตั้งค่า Squid และ OpenVPN (ซึ่งฉันคิดว่าเป็นสิ่งจำเป็นในปัจจุบัน) ฉันใช้ ssh-tunneling หลังจากสองสามสัปดาห์ที่ผ่านมาฉันถามตัวเองว่า ssh-tunneling ไม่ได้ดีหรือ - และนั่นคือคำถามของฉัน - หากมีข้อแม้ / ข้อขัดแย้ง / ข้อบกพร่องใด ๆ ที่ฉันจำเป็นต้องมีในใจ?

2
Tunnel yum traffic ผ่านเซิร์ฟเวอร์อื่นผ่าน ssh
ฉันกำลังใช้เดสก์ท็อป Fedora อยู่ด้านหลังพร็อกซีขององค์กรที่บล็อกyumการรับส่งข้อมูล (โดยเฉพาะ*.gzและ*.bz2) ฉันเข้าถึงเครื่อง RedHat แยกต่างหากผ่านทาง ssh ซึ่งสามารถดาวน์โหลดอะไรก็ได้ที่มันชอบ เมื่อฉันทำyum updateและคำสั่ง yum อื่น ๆ : เป็นไปได้ไหมที่กำหนดเส้นทางการรับส่งข้อมูลไปยังเครื่อง RedHat เพื่อทำการดาวน์โหลดสำหรับฉัน ฉันไม่สามารถเข้าถึงรูทบนเครื่อง RedHat แต่ฉันสามารถเข้าสู่ระบบและใช้ wget เพื่อดาวน์โหลดไฟล์ ถ้าเป็นเช่นนั้นได้อย่างไร

1
เริ่มต้นการเชื่อมต่อ ssh จากเซิร์ฟเวอร์ไปยังไคลเอนต์
เราสามารถเชื่อมต่อผ่านsshเครื่องระยะไกลที่มี IP สาธารณะได้อย่างง่ายดาย แต่ตอนนี้ฉันมีเครื่องระยะไกลที่ไม่มี IP สาธารณะและฉันต้องเชื่อมต่อกับมันจากเครื่องของฉันที่มี IP สาธารณะ ดังนั้นเครื่องระยะไกลควรเริ่มต้นการเชื่อมต่อนี้ (เพิ่มไคลเอนต์) ฉันต้องการเพราะมีปู่ของฉันในคอมพิวเตอร์ที่ไม่มี IP สาธารณะและเขาต้องการความช่วยเหลือในระบบของเขาในบางครั้ง ในสถานการณ์ที่คล้ายกันบน Windows ฉันใช้การเชื่อมต่อ VNC (โดย TightVNC) เซิร์ฟเวอร์ TightVNC มีตัวเลือก "เพิ่มลูกค้า": ผู้ใช้เพิ่งป้อน IP ของลูกค้า (เช่น IP สาธารณะของฉัน) ลูกค้าของฉันอยู่ใน "โหมดการฟัง" และ เมื่อ "เซิร์ฟเวอร์" เพิ่มลูกค้าการเชื่อมต่อจะเริ่มต้นได้ ดังนั้นจึงเป็นไปได้ที่จะทำการหลอกลวงด้วยการเชื่อมต่อ SSH?

2
“ ช่อง 3: เปิดล้มเหลว: ไม่อนุญาตให้ดำเนินการ: เปิดล้มเหลว” เมื่อสร้างเซสชัน VNC บนอุโมงค์ SSH
ในการสร้างการเชื่อมต่อ VNC ผ่านการเชื่อมต่อช่องสัญญาณ SSH ฉันได้รับข้อผิดพลาด: channel 3: open failed: administratively prohibited: open failed ฉันพบว่าสิ่งนี้เกิดขึ้นเฉพาะเมื่อฉันไม่ได้ลงชื่อเข้าใช้โฮสต์ภายในเครื่องเนื่องจากเป็นusernameโฮสต์ที่ฉันพยายามเชื่อมต่อโดยใช้การเชื่อมต่อ VNC แบบช่องสัญญาณ อุโมงค์ SSH: ssh -p 6000 -L 5901:127.0.0.1:5901 username@192.168.0.2 การเชื่อมต่อ VNC: vncviewer localhost:1 ฉันได้ลองปรับการตั้งค่า/etc/ssh/sshd_configโดยใช้AllowTunnel yesและไม่มีการตั้งค่า (ฉันไม่ SSH เริ่มต้นใหม่หลังจากมีการเปลี่ยนแปลง: service ssh restart) แต่ข้อผิดพลาดออกไปถ้าผมมีช่วงท้องถิ่นทำงานในพื้นที่ห่างไกล (เช่นฉันเข้าสู่ระบบเป็นusernameท้องถิ่น.) เป็นคนอื่นได้เห็นพฤติกรรมนี้หรือไม่? ดูเหมือนว่าฉันควรจะสามารถเริ่ม VNC จากระยะไกลและเข้าถึงได้โดยไม่ต้องเข้าสู่ระบบในท้องถิ่นเช่นกัน

6
ทำให้การเชื่อมต่อ SSH แบบย้อนกลับอัตโนมัติตอนบูต
ฉันมีพีซีที่อยู่เบื้องหลัง NAT ซึ่งทำให้การเชื่อมต่อ SSH แบบย้อนกลับกับ Digitalocean VPC ของฉัน ฉันใช้การเชื่อมต่อ SSH แบบย้อนกลับนี้จากที่บ้านเพื่อลงชื่อเข้าใช้พีซีในสำนักงานของฉัน (ฉันได้รับอนุญาตให้ทำ) และคัดลอกไฟล์และทำสิ่งสำคัญอื่น ๆ แม้ว่าจะไม่บ่อยนักฉันสังเกตว่า PC office ของฉันรีสตาร์ท (เนื่องจากไฟฟ้าขัดข้อง ฯลฯ ) และหยุดการเชื่อมต่อ SSH ที่กลับด้านที่ทำกับ VPC ของฉัน ในกรณีเหล่านี้ฉันไม่สามารถเชื่อมต่อจากพีซีที่บ้านของฉันกับพีซีในสำนักงานของฉันได้ ฉันเรียกใช้สคริปต์ต่อไปนี้เพื่อให้การเชื่อมต่อกลับ + พร็อกซีแบบไดนามิกกลับไปยังไม่ระบุชื่อการรับส่งข้อมูลของฉัน (เนื่องจากฉันไม่ต้องการแบ่งปันข้อมูลการท่องเว็บ) ที่สร้างขึ้นที่พีซีในสำนักงาน autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC ไม่มีทางที่ฉันจะสามารถเรียกใช้สคริปต์ thsi อีกครั้งบนพีซีของฉันเมื่อรีสตาร์ทเนื่องจากฉันไม่ได้อยู่ที่นั่น เพื่อที่จะแก้ปัญหานี้ฉันติดตั้ง crontab ต่อไปนี้ หมายเหตุ: rev.shไฟล์มีบรรทัดข้างต้น ใบรับรอง "DigitalOcean" …

2
SSH tunnel ผ่านเซิร์ฟเวอร์ middleman - วิธีเชื่อมต่อในขั้นตอนเดียว (ใช้คู่ที่สำคัญ)
คำถามของฉันเป็นวิธีการเปลี่ยนสองขั้นตอนที่มีอยู่เป็นขั้นตอนเดียว ฉันมีอุโมงค์ SSH ที่ใช้งานได้ตั้งค่าระหว่างคอมพิวเตอร์สองเครื่องโดยใช้เซิร์ฟเวอร์พ่อค้าคนกลางเช่นนี้: Kubuntu_laptop---&gt;nat_fw---&gt;Debian_Server&lt;--nat_fw&lt;--Kubuntu_desktop สิ่งที่ฉันทำในปัจจุบันคือ SSH จาก Kubuntu_laptop ไปยัง Debian_Server และจาก Debian_Server ถึง Kubuntu_desktop ฉันต้องการทำให้คำสั่ง SSH หนึ่งคำสั่งเผยแพร่บน Kubuntu_laptop ของฉันใน bash ซึ่งส่งผลให้ฉันเชื่อมต่อกับ Kubuntu_desktop (เชลล์ / bash) คำสั่งที่ฉันใช้ตอนนี้มีดังนี้ ขั้นตอนที่ 1: me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server ขั้นตอนที่ 2: admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost จากนั้นฉันก็เชื่อมต่อกับ kubuntu_desktop ผ่าน SSH (จาก kubuntu_laptop) ต้องใช้คีย์ …

1
ส่งต่อพอร์ตทั้งหมด SSH
ฉันมีคำถามเกี่ยวกับการส่งต่อ SSH / พอร์ต ฉันไม่พบโซลูชันเลยและไม่รู้ว่ามีหรือไม่ ฉันมีเซิร์ฟเวอร์ที่ด้านหลังกล่อง NAT ของฉันที่บ้าน ฉันมีการส่งต่อพอร์ตจากกล่อง NAT ของฉันไปยังเซิร์ฟเวอร์ของฉันสำหรับ SSH ที่พอร์ต 22 ดังนั้นฉันจึงเชื่อมต่อmy_nat_public_ip:22เมื่อฉันกำลังเดินทางและใช้งานได้อย่างมีเสน่ห์ ตอนนี้ฉันรู้ว่าฉันสามารถเข้าถึงพอร์ตใด ๆ ของเซิร์ฟเวอร์ของฉันได้โดยไม่ต้องตั้งค่ากล่อง NAT ของฉัน อันที่จริงฉันสามารถทำการส่งต่อพอร์ตแบบไดนามิกเช่นนี้: ssh -D 1080 user@my_nat_public_ip แล้วเชื่อมต่อกับ any_port พอร์ตของเซิร์ฟเวอร์ของฉันโดยการตั้งค่าเบราว์เซอร์ของฉันหรืออื่น ๆ ที่จะใช้ localhost: 1080 my_local_server_ip:any_portพร็อกซี่ถุงเท้าและชี้ไปที่ สิ่งที่ฉันต้องการจะทำจะเป็นคำสั่งเช่น ssh -D --local_alias=local_alias user@my_nat_public_ip และถ้าฉันเข้าถึง local_alias: any_port จะส่งต่อไปยัง my_server: any_port เป็นไปได้ไหม มีตัวเลือก SSH ให้ทำเช่นนี้หรือไม่? มันง่ายกว่าธรรมดาและทำให้สามารถมีการส่งต่อไดนามิกพอร์ตหลายรายการบนเซิร์ฟเวอร์ที่แตกต่างกัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.