เปิดหน้าต่างเทอร์มินัลอื่นที่มีเซสชัน SSH เหมือนกับหน้าต่างต้นฉบับ


42

มีวิธีเปิดหน้าต่างเทอร์มินัล (หรือแท็บ) ด้วยอินสแตนซ์อื่นของเซสชัน SSH ที่เปิดอยู่หรือไม่

แก้ไข: ฉันมีหน้าต่างเทอร์มินัลที่มีเซสชัน ssh ระยะไกลลงในเซิร์ฟเวอร์ ฉันต้องการเปิดแท็บใหม่ที่เชื่อมต่อกับเซสชัน ssh ระยะไกลเดียวกัน

ด้วยFile-> New Tabฉันได้รับแท็บอื่น แต่ฉันต้องเปิดเซสชัน ssh อื่นไปยังเซิร์ฟเวอร์ระยะไกล


หากคุณใช้ ssh-copy-id และการกำหนดค่า SSH ในพื้นที่การเชื่อมต่อกับ yourwebserver.company.net ก็เหมือนกับ 'ssh web' แม้ไม่จำเป็นต้องตรวจสอบสิทธิ์
davidbaumann

@davidbaumann ความคิดเห็นสั้นเกินไป คุณช่วยอธิบายมันให้ละเอียดได้ไหม? เว็บ ssh คืออะไร สิ่งนั้นเป็นไปได้อย่างไรที่จะเปิดหน้าต่างเทอร์มินัลใหม่ที่มีเซสชั่นเดียวกันกับ
Tulains Córdova

มันไม่ได้เป็นเซสชั่นเดียวกัน แต่การเชื่อมต่อโดย SSH จะ BR เพื่อให้ง่ายขึ้นซึ่งคุณไม่จำเป็นต้องมีลูกเล่นอื่น ๆ
davidbaumann

@davidbaumann, เซสชันเดียวกันหมายถึงผู้ใช้เดียวกัน (ถ้าคุณใช้ su - someuser), ตัวแปรสภาพแวดล้อมเดียวกัน (ถ้าคุณใช้ไฟล์ src), dir ที่ทำงานเหมือนกัน, มีประวัติเหมือนกัน ฯลฯ การเชื่อมต่อโดยไม่ต้องถามรหัสผ่านเป็นสิ่งที่ดี ที่เหลือทำทั้งหมด
Tulains Córdova

คำตอบ:


14

เชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลของคุณด้วย:

ssh -X [remote-host]      

ตอนนี้ทำงาน:

gnome-terminal &

เทอร์มินัลจะปรากฏขึ้นบนเครื่องคอมพิวเตอร์ของคุณ จากเทอร์มินัลนี้คุณสามารถเรียกใช้แท็บหรือหน้าต่างเทอร์มินัลได้มากเท่าที่ต้องการ พวกเขาทั้งหมดจะใช้การsshเชื่อมต่อเดียวกันและเชื่อมต่อกับเครื่องระยะไกล


รีโมตโฮสต์นั้นเป็น Debian และไม่มี gnome-terminal แอพ terminal ใน Debian ชื่ออะไร?
Tulains Córdova

1
@ user1598390 ในการติดตั้งของฉัน(Version 7 - wheezy)แอพเทอร์มินัลเริ่มต้นคือ gnome-terminal มีแอปพลิเคชั่นอื่น ๆ ที่ติดตั้งอยู่ พวกเขามีxterm, และlxterm uxtermผมเชื่อว่าที่พบมากที่สุดใน distros xtermส่วนใหญ่จะเป็น คุณจะได้รับรายชื่อของ applicatons ขั้วกับ cd /usr/bin;ls *term*commandline
LD James

1
ฉันลองแล้วไม่ได้ผลสำหรับฉัน
Tulains Córdova

อะไรคือข้อผิดพลาดที่คุณได้รับเมื่อคุณเรียกใช้งานcd /usr/bin;ls *term*? พูดอีกอย่างคือ cli ที่คุณใช้งานอยู่และอะไรคือข้อความแสดงข้อผิดพลาด?
LD James

ข้อผิดพลาดคือเมื่อรันxterm&-> [1] 26953 postgres@serverxxx:/usr/bin$ X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: localhost:10.0แม้ว่าฉันจะทำงานxhost +ในเครื่องท้องถิ่น และแม้กระทั่งตอนที่ฉันทำssh -X
Tulains Córdova

36

บางทีนี่อาจช่วยได้: screen

ไม่ได้ติดตั้งตามค่าเริ่มต้นบน Ubuntu แต่มีให้ในที่เก็บ

มันมีประโยชน์มาก: sshกับรีโมตโฮสต์และพิมพ์screenเพื่อเข้าสู่screenเซสชัน

เริ่มงานที่ต้องเสียเวลาตามใจชอบจากนั้นกดCtrl+ Aตามด้วยCtrl+ Cเพื่อสร้างหน้าต่างใหม่ในเซสชันหน้าจอ

สิ่งนี้จะวางไข่เปลือกใหม่ที่คุณสามารถทำสิ่งที่คุณต้องการ สร้างหน้าต่างมากขึ้นโดยใช้คำสั่งเดียวกัน

หากต้องการสลับระหว่างสองหน้าต่างอย่างรวดเร็วให้ใช้Ctrl+ Aตามด้วยCtrl+ Aอีกครั้ง อย่างที่คุณเห็นCtrl+ Aทำให้หน้าจออยู่ในโหมดคำสั่ง

Ctrl+ A Ctrl+ Dจะแยกออกจากเซสชันหน้าจอ จากนั้นคุณสามารถยกเลิกการเชื่อมต่อจากโฮสต์และล็อกอินอีกครั้งในภายหลังและใช้screen -drเพื่อเริ่มเซสชันของคุณต่อ

หากต้องการไปที่screenหน้าต่างเฉพาะให้พิมพ์Ctrl+ Aตามด้วยหมายเลข

หน้าจอจะออกเมื่อปิดหน้าต่างที่ใช้งานอยู่ทั้งหมด (หรือออกจากเปลือกภายในแล้ว)

ผมได้รับนี้จากSSH SFTP และการประชุม

Edit-

tmuxเป็นทางเลือกในหน้าจอ http://www.sitepoint.com/tmux-a-simple-start/


ไม่จำเป็นต้องติดตั้ง "หน้าจอ" ในรีโมตโฮสต์หรือไม่
Tulains Córdova

ฉันคิดว่ามันจะ
aaditya1234

ฉันต้องเชื่อมต่อกับเซิร์ฟเวอร์ที่ใช้งานจริงจำนวนมาก: เซิร์ฟเวอร์ Solaris (เวอร์ชั่นใหม่รวมถึงรุ่นเก่า), เซิร์ฟเวอร์ Debian (หลายรุ่น) และเซิร์ฟเวอร์ RedHat (หลายรุ่น) การติดตั้งซอฟต์แวร์ใหม่ในทั้งหมดนั้นเป็นปัญหา
Tulains Córdova

อ่านี่คือสิ่งที่เพื่อนบอกฉันเกี่ยวกับวิธีที่เขาจัดการการติดตั้งหลายเครื่อง: bjoernvold.com/forum/viewtopic.php?f=11&t=3228
aaditya1234

1
เมื่อฉันใช้หน้าจอฉันไม่สามารถเลื่อนขึ้นและลงในขณะที่ฉันสามารถเลื่อนขึ้นและลงในบรรทัดคำสั่งปกติ (ที่ฉันได้รับหลังจากทำssh user@machine)
วิทยาศาสตร์คอมพิวเตอร์

0

ฉันเคยทำมาก่อน: เปิดตัว gnome-terminal บนเซิร์ฟเวอร์ ctrl + Z จากนั้น bg จากหน้าต่างเทอร์มินัลดั้งเดิมของคุณ

ปกติฉันจะใช้ ssh -X -C ดังนั้นคุณอาจต้องทำเช่นนั้น แต่ฉันไม่แน่ใจ นอกจากนี้มันจะใช้การตั้งค่าเซิร์ฟเวอร์ของคุณแทนการตั้งค่าในเครื่องของคุณซึ่งบางครั้งก็ไม่สะดวก


-2

ใช่ใน terminal (เมนู) คลิกที่File -> New Tab

เพื่อเปิดแท็บใหม่ในเทอร์มินัล

หรือคุณขออย่างอื่น


บางทีฉันอาจจะไม่ชัดเจนพอ ฉันมีหน้าต่างเทอร์มินัลที่มีเซสชัน ssh จากระยะไกลไปยังเซิร์ฟเวอร์อื่น ฉันต้องการเปิดแท็บใหม่ที่เชื่อมต่อกับเซสชัน ssh ระยะไกลเดียวกัน ดูการแก้ไขในคำถาม
Tulains Córdova

ตกลง .. ได้คำถามของคุณ จะค้นหาคำตอบเมื่อฉันรู้ว่ามันยัง
aaditya1234

เทอร์มินัลที่เป็นกรรมสิทธิ์สำหรับ Windows ทำ แต่ฉันขอแนะนำให้ใช้เทอร์มินัลของ Ubuntu
Tulains Córdova
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.