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

Secure Shell (SSH) เป็นโปรโตคอลหลักสำหรับการเชื่อมต่อเชลล์ที่เข้ารหัส แท็กนี้ยังใช้สำหรับคำถามเกี่ยวกับ sshd และ openssh ซึ่งเป็นสองแอปพลิเคชันมาตรฐานสำหรับการใช้ SSH

3
เลือก identity จาก ssh-agent ตามชื่อไฟล์
ปัญหา: ฉันมีssh-agentตัวตนประมาณ 20-30 ตัว เซิร์ฟเวอร์ส่วนใหญ่ปฏิเสธการรับรองความถูกต้องด้วยToo many failed authenticationsโดยทั่วไป SSH จะไม่ให้ฉันลองใช้ 20 คีย์ที่แตกต่างกันในการเข้าสู่ระบบ ในขณะนี้ฉันกำลังระบุไฟล์ข้อมูลประจำตัวสำหรับทุกโฮสต์ด้วยตนเองโดยใช้IdentityFileและIdentitiesOnlyคำสั่งเพื่อให้ SSH จะลองใช้ไฟล์คีย์หนึ่งไฟล์เท่านั้นซึ่งทำงานได้ แต่น่าเสียดายที่นี่จะหยุดทำงานทันทีที่ปุ่มเดิมไม่สามารถใช้งานได้อีกต่อไป ssh-add -lแสดงพา ธ ที่ถูกต้องให้ฉันสำหรับไฟล์คีย์ทุกไฟล์และพวกเขาจับคู่กับพา.ssh/configธ แต่มันไม่ทำงาน เห็นได้ชัดว่า SSH เลือกการเยื้องตามลายเซ็นของกุญแจสาธารณะและไม่ใช่โดยชื่อไฟล์ซึ่งหมายความว่าจะต้องมีไฟล์ต้นฉบับเพื่อที่ SSH จะสามารถแยกคีย์สาธารณะได้ มีสองปัญหากับสิ่งนี้: มันจะหยุดทำงานทันทีที่ฉันถอดปลั๊กแฟลชไดรฟ์ที่ถือกุญแจ ทำให้เอเจนต์ส่งต่อไร้ประโยชน์เนื่องจากไฟล์คีย์ไม่พร้อมใช้งานบนรีโมตโฮสต์ แน่นอนว่าฉันสามารถแยกกุญแจสาธารณะออกจากไฟล์ข้อมูลส่วนตัวของฉันและเก็บไว้ในคอมพิวเตอร์ของฉันและในคอมพิวเตอร์ระยะไกลทุกเครื่องที่ฉันมักจะลงชื่อเข้าใช้ มันไม่ได้เป็นวิธีที่น่าพอใจ สิ่งที่ฉันต้องการคือความเป็นไปได้ในการเลือกข้อมูลประจำตัวจาก ssh-agent ตามชื่อไฟล์เพื่อให้ฉันสามารถเลือกคีย์ที่ถูกต้องโดยใช้.ssh/configหรือผ่าน-i /path/to/original/keyแม้ในพื้นที่ห่างไกลที่ฉันเข้า SSH มันจะดีกว่านี้ถ้าฉันสามารถ "ตั้งชื่อเล่น" กุญแจให้ฉันได้โดยไม่ต้องระบุเส้นทางแบบเต็ม

4
วิธีการไพพ์ข้อมูลเพื่อการเชื่อมต่อ SFTP?
ftp สนับสนุนput "|..." "remote-file.name"คำสั่งเพื่อไพพ์ข้อมูลไปยังการเชื่อมต่อ ftp มีบางอย่างที่คล้ายกันสำหรับ sftp หรือไม่ ใน SFTP ฉันได้รับข้อผิดพลาดต่อไปนี้: sftp 'jmw@backupsrv:/uploads' sftp> put "| tar -cx /storage" "backup-2012-06-19--17-51.tgz" stat | tar -cv /storage: No such file or directory ดังกล่าวข้างต้นไคลเอนต์ sftp ไม่ชัดเจนรันคำสั่ง ฉันต้องการใช้คำสั่ง pipe เพื่อเปลี่ยนเส้นทางสตรีมไฟล์ไปยัง sftp โดยตรง (เนื่องจากมีพื้นที่ไม่เพียงพอที่จะสร้างไฟล์สำรองข้อมูลบนดิสก์เดียวกันก่อนที่จะอัปโหลดไปยังเซิร์ฟเวอร์ sftp)
9 ssh  sftp  pipe 

2
ฉันสามารถใช้อุโมงค์ SSH เพื่อเข้าถึงเว็บเซิร์ฟเวอร์ที่กำลังฟังบน IP / พอร์ตอื่นบนเซิร์ฟเวอร์เดียวกันได้หรือไม่
ฉันมีเว็บเซิร์ฟเวอร์ที่ยังไม่พร้อมสำหรับการใช้งานทั่วไป แต่ฉันยังต้องการทดสอบบางสิ่งจากระยะไกล ฉันสามารถใช้ประโยชน์จากอุโมงค์ SSH เพื่อเชื่อมต่อกับเซิร์ฟเวอร์แล้วใช้อุโมงค์เพื่อกำหนดเส้นทางไปยังบริการเว็บที่ทำงานบนเซิร์ฟเวอร์เดียวกันได้หรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร ฉันรู้ว่าการใช้ข้อยกเว้นไฟร์วอลล์จะง่ายขึ้น แต่นั่นไม่ใช่ตัวเลือกในขณะนี้ ขออภัยหากเกิดความสับสน ฉันยอมรับว่ามันเป็นสถานการณ์ที่ไม่เหมือนใคร CentOS 5.x

1
SSH Prompts สำหรับรหัสผ่านแม้ว่าจะมีคีย์ส่วนตัวแสดงอยู่ในเซิร์ฟเวอร์และเป็นที่รู้จัก
ฉันมีอูบุนตูสก์ท็อปภายในเครื่อง VirtualBox และฉันมีพฤติกรรมแปลก ๆ กับเซิร์ฟเวอร์ openssh: เมื่อผู้ใช้ของฉันไม่ได้เชื่อมต่อกับเซิร์ฟเวอร์ (การเชื่อมต่อ ssh แรก) ก็จะพร้อมท์ให้ใส่รหัสผ่านแม้ว่ารหัสส่วนตัวจะเป็นประโยชน์ (PuTTY + Pagent) หลังจากการเชื่อมต่อครั้งแรกถ้าฉันเปิดการเชื่อมต่อรองหรือการเชื่อมต่อที่สามมันได้รับการเชื่อมต่อกับปุ่ม ถ้าฉันปิดการเชื่อมต่อทั้งหมดและเปิดใหม่มันจะถามรหัสผ่าน หากฉันให้การเชื่อมต่อแบบเปิด 4 รายการและฉันปิดการเชื่อมต่อแรก (การเชื่อมต่อที่ขอรหัสผ่าน) การเชื่อมต่อที่ห้าจะถูกเปิดด้วยปุ่ม ใครเห็นสิ่งนี้แล้ว ขอบคุณที่สละเวลาช่วย
9 ssh 

5
วิธีการเปิดใช้งานสีในเสียงมากกว่า SSH?
ฉันมีเซิร์ฟเวอร์ระยะไกลสองตัว: เซิร์ฟเวอร์ 1: Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi IMproved - รุ่น 7.0.237 เซิร์ฟเวอร์ 2: Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi IMproved รุ่น 7.0 237 เมื่อฉัน ssh ลงในเซิร์ฟเวอร์ 2 และใช้เสียงเรียกเข้าเพื่อแก้ไขphpหรือ.htaccessไฟล์มันมีการเน้นสีที่สวยงาม ด้านล่างเป็น/etc/vimrcไฟล์บนเซิร์ฟเวอร์นั้น เมื่อฉัน ssh ลงในเซิร์ฟเวอร์ 1 ไม่มีสีปรากฏขึ้น ฉันพยายามคัดลอกโค้ดด้านล่างลงในไฟล์ ~ / .vimrc ของฉันบนเซิร์ฟเวอร์ 1 แต่ไวยากรณ์ของสีไม่ทำงาน คุณสมบัติอื่น ๆ (เหมือนset nocompatible) กำลังทำงาน …
9 linux  ssh  unix  vim  vi 

4
ข้อผิดพลาด ssh นี้หมายถึงอะไร
นี่เป็นทางเลือกสุดท้ายของฉัน ฉันพยายามหาปัญหามาหลายชั่วโมงแล้ว นี่คือข้อตกลง: ฉันได้คัดลอกคีย์ส่วนตัวของฉันจากเครื่อง # 1 ไปยังเครื่อง # 2 เครื่อง # 1 สามารถเชื่อมต่อผ่าน ssh ไปยังเซิร์ฟเวอร์ด้วยรหัสสาธารณะของฉันได้ดี แต่เครื่อง # 2 ให้ผลลัพธ์ต่อไปนี้เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์: $ ssh -vvv -i /home/kevin/.ssh/kev_rsa user@192.168.1.244 -p 22312 OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting …
9 ssh  rsa  private-key  keys 

1
เข้าสู่ระบบในเซิร์ฟเวอร์ ssh: การอนุญาตถูกปฏิเสธโปรดลองอีกครั้ง
ฉันพยายามที่จะเข้าสู่เซิร์ฟเวอร์ ssh ของฉันโดยใช้ชื่อผู้ใช้และรหัสผ่าน แต่ฉันได้รับข้อผิดพลาดนี้หลังจากป้อนรหัสผ่านที่ถูกต้อง: Permission denied, please try again. ฉันสามารถเข้าสู่ระบบโดยใช้ pubkey บนเครื่องอื่น แต่ฉันไม่ได้ปิดใช้งานการตรวจสอบรหัสผ่านปกติ สิ่งเดียวที่ฉันปิดการใช้งานคือการเข้าสู่ระบบราก นี่คือไฟล์ sshd_config ของฉัน: # ไฟล์การกำหนดค่าที่สร้างขึ้น # ดูรายละเอียด manpage sshd_config (5) # พอร์ตอะไร IP และโปรโตคอลที่เรารับฟัง พอร์ต 22 # ใช้ตัวเลือกเหล่านี้เพื่อ จำกัด อินเทอร์เฟซ / โปรโตคอลที่ sshd จะผูกไว้ #ListenAddress :: #ListenAddress 0.0.0.0 พิธีสาร 2 # HostKeys สำหรับรุ่นโปรโตคอล 2 HostKey / …
9 ubuntu  ssh 

4
เชื่อมต่ออุโมงค์ TCP อีกครั้งโดยอัตโนมัติ
ฉันมีการเชื่อมต่อเครือข่ายที่ไม่น่าเชื่อถือระหว่างเครื่องสองเครื่อง: บางครั้งการเชื่อมต่อ TCP ที่ทำงานอยู่จะตกเนื่องจากเหตุผลที่อยู่นอกเหนือการควบคุม ฉันต้องการสร้างการเชื่อมต่อ TCP ที่เชื่อถือได้ระหว่างเครื่องสองเครื่อง หากเครือข่ายเป็นที่เชื่อถือได้ผมทำงานเพียงssh -L 1234:localhost:1234 remotehostกับการฟังเซิร์ฟเวอร์บนพอร์ต 1234 บนและชี้ให้ลูกค้าที่remotehost localhost:1234แต่ถ้าการเชื่อมต่อ ssh ตายดังนั้นการเชื่อมต่อที่ส่งต่อจะ ฉันจะจัดการคืนค่าการเชื่อมต่อระหว่างไคลเอนต์และเซิร์ฟเวอร์โดยอัตโนมัติได้อย่างไร? ที่ไม่ใช่การแก้ปัญหา: นี่ไม่ใช่สำหรับแอปพลิเคชันแบบอินเทอร์แอคทีฟดังนั้นหน้าจอจึงไม่สามารถใช้ได้ นี้ไม่ได้เป็นเพียงเกี่ยวกับการเชื่อมต่อ SSH อุโมงค์โดยอัตโนมัติลาautossh ฉันต้องการดำเนินการต่อโดยใช้การเชื่อมต่อ TCP แบบช่องสัญญาณเดียวกันไม่ใช่เริ่มใหม่ โดยหลักการแล้ว VPN จะใช้เล่ห์เหลี่ยม แต่ดูเหมือน overkill เมื่อฉันต้องการการเชื่อมต่อ TCP และฉันต้องการโซลูชันที่ใช้งานได้แม้ว่าฉันจะไม่ได้รับอนุญาตรูททั้งสองด้าน ฉันมีหน่วยความจำสลัวของโปรแกรมที่เรียกrocksว่าทำอย่างนั้น แต่ดูเหมือนว่าจะหลุดจากหน้าเว็บ ฉันสนใจ Linux เป็นส่วนใหญ่ทั้งสองด้าน (แต่ฉันคาดหวังว่าโปรแกรมในระดับนี้จะพกพาไปยัง unices อื่น ๆ ) แต่ถ้าคุณรู้ว่าโปรแกรมที่ทำงานระหว่าง QNX และ VMS นั้นดีกว่าทั้งหมด
9 ssh  unix  tcp  tunneling 

6
ครั้งแรกที่เปิดเซิร์ฟเวอร์ SSH ไปยังอินเทอร์เน็ตจะต้องตรวจสอบอะไรบ้าง
ฉันใช้เซิร์ฟเวอร์สองสามเครื่องมาเป็นเวลานาน แต่ฉันให้เช่าพวกเขาเท่านั้นดังนั้นฉันจึงไม่มีประสบการณ์มากในการรักษาความปลอดภัยให้กับเซิร์ฟเวอร์จริง (ตรงข้ามกับแอปพลิเคชันที่ฉันใช้อยู่) ตอนนี้ฉันรู้สึกอยากเปิดเซิร์ฟเวอร์ SSH บ้านเล็ก ๆ ของฉันกับอินเทอร์เน็ต ฉันจะเป็นคนเดียวที่ใช้รหัสผ่านของฉันซับซ้อนพอฉันเปลี่ยนพอร์ต SSH เริ่มต้นเป็นประมาณ 4000 พอร์ตที่เข้าถึงได้เพียงพอร์ต SSH นี้คือผ่านการส่งต่อพอร์ตบนเราเตอร์ / ไฟร์วอลล์ของฉันและได้รับการปรับปรุง โดยอัตโนมัติทุกคืน (มันทำงาน Arch Linux, การกระจายการเปิดตัว) ฉันควรทำสิ่งใดเพื่อให้ปลอดภัย ขอบคุณ!
9 security  ssh  linux 

2
มีตัวเลือกใดบ้างสำหรับลูกค้า kerberized ssh บน windows?
มีลูกค้า ssh ที่ดี (เชื่อถือได้ / ฟรี) ที่ทำงานกับบัญชีที่รับรองความถูกต้อง Active Directory ในสภาพแวดล้อม Windows หรือไม่ เป็นการดีที่ไม่ต้องใช้แพคเกจKerberos สำหรับ Windows ? ฉันรู้ว่ามีputtyรุ่นดัดแปลงมากมายที่รองรับการตรวจสอบความถูกต้องGSSAPIซึ่งจะอนุญาตให้ตรวจสอบผ่าน Kerberos ไปยังระบบระยะไกลได้หากคุณตรวจสอบสิทธิ์ผ่าน Kerberos ในระบบภายในเครื่อง (IE คุณเข้าสู่ระบบ windows โดยใช้บัญชี Active Directory และ บัญชี AD เดียวกันนั้นมีอยู่บนเซิร์ฟเวอร์ระยะไกลที่คุณเข้าถึงผ่าน SSH) มีไคลเอ็นต์ ssh อื่น ๆ ที่สนับสนุนการพิสูจน์ตัวตนของ kerberos / GSSAPI โดยใช้ Windows Local AD ที่สร้างหนังสือรับรอง Kerberos หรือไม่? ฉันพบหน้านี้ซึ่งมีรายชื่อลูกค้าที่รับรู้ windows ของ …
9 ssh  kerberos  putty 

4
ตรวจสอบปริมาณการใช้ SSH ต่อผู้ใช้
เรามีแอปพลิเคชั่นสำรองที่ทำงานทุกๆ 12 ชั่วโมง เซิร์ฟเวอร์เดสก์ท็อปและแล็ปท็อปหลายเครื่องเชื่อมต่อกับอินสแตนซ์ EC2 และส่งข้อมูลสำรองผ่าน SFTP โดยใช้ข้อมูลรับรองการเข้าสู่ระบบของตนเอง หากพวกเขาต้องการกู้คืนไฟล์พวกเขาสามารถเรียกดูไฟล์ผ่าน SFTP-Client อย่างง่ายและกู้คืนไฟล์ได้ สิ่งนี้ทำงานได้ดีมากในช่วง 8 เดือนที่ผ่านมา ฉันต้องการทราบว่ามีการถ่ายโอนข้อมูลเป็นจำนวนเท่าใดต่อเดือนต่อผู้ใช้ผ่าน SSH ฉันไม่ต้องการบันทึกในช่วง 8 เดือนที่ผ่านมา แต่สิ่งที่จะบันทึกมันเริ่มต้นตอนนี้จะดี มีอะไรที่ทำให้ฉันทำอย่างนั้นได้ไหม ระบบปฏิบัติการ: Ubuntu 10.10

2
ทำไมฉันถึงไม่สามารถ ssh หรือ ping อินสแตนซ์ Amazon EC2 ใหม่เอี่ยมของฉันได้?
ฉันเพิ่งสร้างอินสแตนซ์ EC2 ฟรีพร้อมค่าเริ่มต้นทั้งหมด มันบอกว่ามันทำงานอยู่ใน AWS Management Console ในเมนู "การกระทำของอินสแตนซ์" ฉันคลิก "เชื่อมต่อ" ฉันคัดลอกชื่อ DNS ที่ระบุ (ดูเหมือน ec2-a-dashed-IP-address.compute-1.amazonaws.com) และลอง SSH ไม่มีการตอบสนอง ฉันไม่สามารถปิงได้ สิ่งที่ช่วยให้?

1
การเพิ่มการส่งต่อพอร์ตโดยทางโปรแกรมในเซสชัน ControlMaster SSH
ฉันเพิ่งค้นพบเกี่ยวกับคุณสมบัติ ControlMaster / ControlPath ของ OpenSSH ซึ่งช่วยให้คุณใช้การเชื่อมต่อ SSH เดียวเพื่อเรียกใช้เทอร์มินัลหลายเครื่อง เนื่องจากฉันมักจะใช้ SSH เพื่อใช้การส่งต่อพอร์ตเพื่อรับเซสชัน VNC ที่เข้ารหัสและรับรองความถูกต้องฉันจำได้ทันทีว่าคุณไม่สามารถเพิ่มการส่งต่อพอร์ตไปยังเซิร์ฟเวอร์ระยะไกลที่คุณมีการเชื่อมต่อที่สร้างไว้แล้ว อันนี้ครับ บางครั้งในภายหลังฉันพบว่าคุณสามารถหลีกเลี่ยงข้อ จำกัด นี้ได้โดยพิมพ์ ~ C ในเซสชันเทอร์มินัล SSH ที่กำลังทำงานอยู่ นี่เป็นการเปิดบรรทัดคำสั่งซึ่งช่วยให้คุณสามารถเพิ่มหรือลบการส่งต่อพอร์ต คำถามของฉันคือตอนนี้: ฉันจะเพิ่มการส่งต่อพอร์ตในเซสชัน SSH ที่มีอยู่ซึ่งใช้คุณลักษณะ ControlMaster / ControlPath ได้อย่างไรโดยไม่จำเป็นต้องเข้าถึงเซสชันเทอร์มินัลภายในเซสชัน SSH นั้น ฉันต้องการสิ่งนี้เพื่อเปิดใช้งานสคริปต์ของฉันซึ่งเริ่มการเชื่อมต่อ VNC แบบอุโมงค์ที่ปลอดภัยสำหรับฉันในการเพิ่มและลบพอร์ตการส่งต่อในภายหลัง (ฉันรู้ว่าฉันสามารถใช้เทอร์มินัลมัลติเพล็กเซอร์เช่น GNU Screen หรือ tmux จริง ๆ แล้วฉันกำลังทำสิ่งนี้อยู่แล้ว แต่ฉันชอบความคิดที่จะใช้เซสชัน SSH เพียงครั้งเดียวด้วยเหตุผลทางเซิร์ฟเวอร์)


1
ใช้พุ่งพรวดเพื่อจัดการอุโมงค์ย้อนกลับอัตโนมัติ
ฉันใช้พุ่งพรวดเพื่อจัดการอุโมงค์ SSH แบบย้อนกลับผ่านทาง autossh เมื่อฉันทำ "อุโมงค์เริ่มต้น sudo" การเชื่อมต่อจะดีขึ้น อย่างไรก็ตามคำสั่งจะไม่ถูกเรียกใช้โดยอัตโนมัติเมื่อเริ่มบริการเครือข่ายและไม่ว่าฉันจะเปลี่ยนคุณสมบัติ "เริ่มต้นที่" ฉันดูเหมือนจะไม่สามารถเรียกใช้สิ่งนี้ในลักษณะอัตโนมัติได้ อย่างไรก็ตามอย่างที่ฉันบอกว่าฉันสามารถเริ่ม / หยุดได้ดี นี่คือ /etc/init/tunnel.conf ของฉันพร้อมกับสิ่งที่ละเอียดอ่อนหลุดออกมา: description "SSH Tunnel" start on started networking stop on stopping networking respawn env DISPLAY=:0.0 exec autossh -nNT -R 22100:localhost:22 myuser@myserver.com -p 2201

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