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

คำถามเกี่ยวกับการใช้งาน OpenSSH ของโปรโตคอล ssh

2
ฉันจะแสดงอัลกอริทึมคีย์โฮสต์ที่มีอยู่สำหรับไคลเอ็นต์ SSH ได้อย่างไร
ดังนั้น SSH HostKeyAlgorithmsมีตัวเลือก ตัวอย่างการใช้งาน: ssh -o "HostKeyAlgorithms ssh-rsa" user@hostname ฉันกำลังพยายามให้ไคลเอนต์เชื่อมต่อโดยใช้ecdsaคีย์เซิร์ฟเวอร์แต่ฉันไม่สามารถค้นหาว่าสตริงที่ถูกต้องคืออะไร คำสั่งอะไรฉันสามารถใช้เพื่อรับรายชื่อของที่มีอยู่HostKeyAlgorithms?
13 ssh  openssh 

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 …

3
ssh-add -D ไม่ลบคีย์ที่เก็บไว้ออกจาก ssh-agent
สิ่งนี้เกิดขึ้นได้อย่างไร: stan@tcpc:~/.ssh$ ssh-add -l 8192 e0:45:5e:cc:45:3e:17:2b:a6:54:6f:8d:53:1b:j2:e3 github (RSA) 2048 25:41:53:a6:45:5d:ac:eb:5c:45:f8:ce:42:a9:he:aa BITBUCKET (RSA) stan@tcpc:~/.ssh$ ssh-add -D All identities removed. stan@tcpc:~/.ssh$ ssh-add -l 8192 e0:45:5e:cc:45:3e:17:2b:a6:54:6f:8d:53:1b:j2:e3 github (RSA) 2048 25:41:53:a6:45:5d:ac:eb:5c:45:f8:ce:42:a9:he:aa BITBUCKET (RSA) ทำไมปุ่มไม่ถูกลบ? ป.ล. อาจเป็นข้อผิดพลาดนี้หรือไม่? http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477 ฉันกำลังอยู่ใน arch linux แม้ว่า ...
13 ssh  openssh  sshd 

5
เซิร์ฟเวอร์ ssh: เหตุผลที่ฉับพลัน“ การเชื่อมต่อถูกปิดโดยโฮสต์ระยะไกล”
หนึ่งในเซิร์ฟเวอร์ ec2 ของฉันหยุดรับการเชื่อมต่อ ssh ระบบปฏิบัติการอูบุนตูเป็นเซิร์ฟเวอร์ 8.04 และเซิร์ฟเวอร์ SSH openssh-serverเป็นมาตรฐาน หลังจากหลายเดือนของช่วงเวลาที่ฉันพยายามเชื่อมต่อกับมันในวันนี้และได้รับข้อความต่อไปนี้: ssh_exchange_identification: Connection closed by remote host มีความคิดอะไรที่ผิดพลาด? อัปเดต:หลังจากรีบูตเซิร์ฟเวอร์เริ่มรับการเชื่อมต่อใหม่ ดิสก์มีการใช้งานต่ำกว่า 50%
13 openssh 

3
ทำไมกฎไม่รวมในไฟล์กำหนดค่า ssh
ดูเหมือนว่าสิ่งต่อไปนี้จะทำงานได้ตามที่คาดไว้นั่นคือกฎข้อที่สองมีชื่อโฮสต์ที่ตรงกับกฎข้อแรกจะนำไปใช้ Host *.hostname.com User myuser IdentityFile ~/.ssh/myidentity Host blah HostName complicated.hostname.com อย่างไรก็ตามการพิมพ์ssh blahจะใช้กฎที่สองเท่านั้น (และไม่ใช่ไฟล์ผู้ใช้หรือข้อมูลประจำตัวของกฎข้อแรก) ฉันมีสองคำถาม: ทำไมสิ่งนี้จึงเกิดขึ้น เป็นไปได้หรือไม่ที่จะทำในสิ่งที่ฉันพยายามทำ
12 ssh  openssh 

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: …

2
gpg-agent ปฏิเสธคีย์ SSH ด้วยการรายงาน ssh-add“ การดำเนินการของตัวแทนถูกปฏิเสธ”
ฉันใช้ openssh7.5p1 และ gnupg 2.1.21 บน arch linux (นี่เป็นเวอร์ชันเริ่มต้นที่มาพร้อมกับ arch) ฉันต้องการใช้gpg-agentเป็นตัวแทน ssh ฉันใส่สิ่งต่อไปนี้ในของฉัน~/.gnupg/gpg-agent.conf: pinentry-program /usr/bin/pinentry-qt enable-ssh-support Arch เริ่มต้น gpg-agent จาก systemd โดยอัตโนมัติดังนั้นฉันจึงตั้งค่า export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh" เมื่อฉันเรียกใช้ssh-add -lจะไม่มีการระบุตัวตนและpsรายงานgpg-agent --supervisedกระบวนการตามที่ฉันคาดหวัง น่าเสียดายที่เมื่อฉันทำงานssh-addไม่ว่าจะเป็นประเภทปุ่มใดมันไม่ทำงาน นี่คือตัวอย่างของวิธีที่ฉันพยายาม dsa: $ ssh-keygen -f testkey -t dsa -N '' Generating public/private dsa key pair. Your identification has been saved in testkey. …

4
การบันทึกโลคัลของคำสั่ง ssh ทั้งหมดแบบโลคัล?
ฉันจะเก็บบันทึกโลคัลที่บันทึกเวลาของคำสั่งรีโมตทั้งหมดที่ฉันใช้ในssh(ไคลเอ็นต์ openssh บรรทัดคำสั่งเริ่มต้นผ่านbash) ได้อย่างไร? ที่ต้องการ: ที่สำคัญ: ฝั่งไคลเอ็นต์ 100% โดยไม่ต้องอาศัยการบันทึกเซิร์ฟเวอร์ กำหนดค่าหรือติดตั้งต่อผู้ใช้พร้อมบันทึกที่จัดเก็บในโฮมไดเรกทอรีของผู้ใช้ การสนับสนุนสำหรับการแยกความแตกต่างระหว่างหลายเซสชันพร้อมกันกับผู้ใช้และโฮสต์ที่หลากหลาย ไม่รบกวน (ไม่จำเป็นต้องเปิดใช้งานในแต่ละครั้งและไม่รบกวนการใช้ ssh อย่างมีนัยสำคัญ) ลำดับความสำคัญสูง: เอาต์พุตไม่ถูกล็อกหรือกรองออกให้มากที่สุด รายการรหัสผ่านอย่างใดอย่างหนึ่งจะไม่ถูกบันทึกหรือไฟล์ถูกเข้ารหัส บ่งชี้ถึงคำสั่งจริงที่ใช้ (หลังจากแท็บ / ประวัติเสร็จสมบูรณ์, backspaces, CTRL+ C, ฯลฯ ... ถูกประมวลผลแล้ว) ยินดีที่ได้: ยังบันทึกคำสั่งในเซสชันที่ถูกล่ามโซ่ (คำสั่งที่ป้อนระหว่างระยะไกลsshหรือsu <user>เซสชัน) ควรเริ่มต้นเซสชันและสิ้นสุดเซสชัน ง่ายbash-based, การแก้ปัญหาที่ไม่ใช่รากจะดีที่สุด (บางทีอาจจะเป็นaliasหรือbashสคริปต์เสื้อคลุมสำหรับsshคำสั่ง?) ระดับความสามารถของฉัน: ฉันไม่ได้ใหม่กับการเขียนโปรแกรม แต่ยังคงเรียนรู้bashและ "วิธี Linux" ดังนั้นตัวอย่างโค้ดที่มีคำอธิบายสั้น ๆ จะได้รับการชื่นชมมากที่สุด กลยุทธ์ที่เป็นไปได้ keylogger - ปัญหา: บันทึกรหัสผ่านไม่บันทึกแท็บ / …

6
คำสั่ง ssh ยังคงเกิดขึ้นในระบบอื่นโดยไม่คาดคิดหลังจาก ssh ถูกยกเลิก
ฉันใช้คำสั่งด้านล่างและตรวจสอบไฟล์ที่ส่งออกในระบบอื่น ๆ : ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n >>/tmp/count; done' หากฉันฆ่าคำสั่ง ssh โดยใช้^Cหรือเพียงแค่ฆ่าเทอร์มินัลที่ฉันเข้าสู่ระบบฉันคาดว่าคำสั่งระยะไกลจะยุติเช่นกัน สิ่งนี้ไม่ได้เกิดขึ้น: /tmp/countรับตัวเลขทั้งหมด 1-5 โดยไม่คำนึงถึงและps -ejHแสดงให้เห็นว่าเชลล์และsleepลูกของมันยังคงทำงานต่อไป นี่เป็นพฤติกรรมที่คาดหวังและมีการบันทึกไว้ที่ใดบ้างหรือไม่ ฉันจะปิดการใช้งานมันได้หรือไม่ จากการอ่านไปเรื่อย ๆ ฉันคาดว่าจะต้องเปิดใช้งานพฤติกรรมแบบนี้โดยไม่ต้องรออย่างชัดเจนไม่ใช่เพื่อให้เป็นค่าเริ่มต้น ฉันได้ดูหน้าคู่มือสำหรับ ssh และ sshd แต่ไม่เห็นสิ่งที่ชัดเจนและ Google ชี้ให้ฉันดูคำแนะนำในการเปิดใช้งานพฤติกรรมนี้ไม่ใช่เพื่อปิด ฉันใช้ Red Hat Enterprise Linux 6.2 พร้อมด้วยล็อกอินรูทและ bash shell บนทั้งสองระบบ
11 ssh  rhel  openssh  sshd 

2
ssh, เริ่มเชลล์เฉพาะ, และรันคำสั่งบนเครื่องรีโมต?
ฉันอยู่ในสถานการณ์ที่ผู้ใช้หลายคนกำลังแบ่งปันบัญชีผู้ใช้เดียวกันบนเครื่องระยะไกล ฉันมีไดเรกทอรี "ส่วนตัว" ที่ฉันเขียน.zshrcไฟล์ของตัวเองและฉันต้องการวิธี: เริ่มเซสชัน ssh ในเครื่องระยะไกลด้วยคำสั่งจากไฟล์ ssh config ของฉัน (เช่นControlMaster auto) เซสชั่นนี้รัน Z shell มันทำงาน.zshrcในไดเรกทอรี "ส่วนตัว" ของฉัน (ไม่ใช่ในไดเรกทอรีบ้านของผู้ใช้ที่ใช้ร่วมกัน) มันคงจะดีถ้ามีนามแฝงหรือวิธีง่าย ๆ ในการเริ่มเซสชัน ssh (นั่นคือเหตุผลที่ฉันคิดเกี่ยวกับการใช้ไฟล์ config ของ OpenSSH) แต่ฉันเปิดรับแนวคิดอื่น ๆ ! กำลังใช้ไฟล์ปรับแต่งของ OpenSSH? ฉันอ่านหน้า man 's ssh_config ของ OpenSSH ที่ฉันสามารถใช้ directive LocalCommandเพื่อระบุคำสั่งให้รันแบบโลคัลหลังจากเชื่อมต่อกับเซิร์ฟเวอร์สำเร็จ นี่ทำให้ฉันคิดว่าอาจมีวิธีบอกconfigไฟล์ว่าคำสั่งให้เรียกใช้จากระยะไกลหลังจากเชื่อมต่อกับเซิร์ฟเวอร์ แต่ดูเหมือนจะไม่มีอะไรเกิดขึ้น
11 ssh  openssh 

2
ProxyCommand ของ ssh_config สามารถรันคำสั่งโลคัลก่อนเชื่อมต่อกับเครื่องรีโมตได้หรือไม่?
ก่อนที่ฉันจะสามารถเชื่อมต่อกับเครื่องระยะไกลโดยเฉพาะฉันต้องเรียกใช้คำสั่งท้องถิ่น ดังนั้นแทนที่จะssh me@remote.machineต้องทำ local_command ssh me@remote.machine ฉันอยากจะทำสิ่งนี้โดยอัตโนมัติเพื่อที่ฉันจะได้ทำssh remote.machineเท่านั้น ฉันรู้ว่าฉันสามารถทำสิ่งนี้ได้ในระดับเชลล์โดยการสร้างsshสคริปต์ของตัวเองที่เรียกใช้/usr/bin/sshแต่ฉันสามารถทำได้โดยใช้ตัวเลือกProxyCommandssh_configใช่หรือไม่ เท่าที่ฉันเข้าใจฉันต้องการบางสิ่งบางอย่าง Host remote.machine ProxyCommand local_command; ssh me@remote.machine ใน~/.ssh/configไฟล์ของฉันแต่ไม่ใช่อย่างแน่นอนเพราะมันเป็นวงกลม!
11 proxy  openssh 

7
การเข้าถึง SSH จากภายในและภายนอก LAN โดยใช้คำสั่งเทอร์มินัลเดียวกัน
ฉันมีราสเบอร์รี่ Pi (RPi) และฉันทำการเชื่อมต่อระยะไกลกับมันโดยใช้ ssh ฉันจัดการเพื่อตั้งค่า ssh อย่างถูกต้องเพื่อให้ฉันสามารถเข้าถึง RPi ทั้งจากเครือข่ายท้องถิ่นและจากอินเทอร์เน็ต (โดยใช้พอร์ตเฉพาะที่ฉันเปิดบนเราเตอร์ของฉัน) สมมติว่าชื่อผู้ใช้johnและ RPi ชื่อraspi: การเข้าถึง LAN ภายใน ssh john@192.168.2.7 ssh john@raspi ssh raspi นอกการเข้าถึง LAN ssh -p 1234 john@12.345.67.89 ssh -p 1234 12.345.67.89 แต่ฉันจะทำssh raspiจากนอกระบบ LAN ได้อย่างไร มีวิธีการกำหนดค่า raspi ให้ชี้ไปที่สองที่อยู่ IP หนึ่งใน LAN และหนึ่งผ่านอินเทอร์เน็ตหรือไม่ สิ่งที่ฉันต้องการคือการเข้าถึง RPi ของฉันด้วยวิธีเดียวไม่ว่าฉันจะอยู่ที่บ้านหรือที่ทำงาน

1
เซิร์ฟเวอร์ sFTP ไม่สามารถเริ่มต้นได้
ฉันมีปัญหาในการใช้งาน SFTP ในขณะที่ไม่มีปัญหากับ ssh ฉันกำลังสร้าง zlib, openssl และ openssh สำหรับโปรเซสเซอร์ ARM โดยใช้ระบบไฟล์ Linux ที่มีอยู่แล้ว หลังจากค้นหาความคิดแล้วดูเหมือนว่านี่จะเป็นปัญหาทั่วไป แต่ฉันก็ยังไม่คืบหน้า ฉันมีผู้ใช้หนึ่งรายเท่านั้นซึ่งเป็นรูทที่มีรหัสผ่านว่างเปล่า ฉันใช้ openssh เวอร์ชั่น 4.7p1 และฉันแก้ไข sshd_config ด้วยการตั้งค่าต่อไปนี้: PermitRootLogin yes PermitEmptyPasswords yes UseDNS yes UsePrivilegeSeparation no SyslogFacility AUTH LogLevel DEBUG3 Subsystem sftp /usr/local/libexec/sftp-server -f AUTH -l DEBUG3 sftp-server อยู่ใน / usr / local / …
10 linux  sftp  openssh 

4
gnome-keyring ตั้งค่า $ SSH_AUTH_SOCK ไว้ที่ไหน
ฉันอยู่ระหว่างการกำจัดในgnome-keyringฐานะตัวแทน SSH สิ่งที่ฉันทำ ค้นหาอินเทอร์เน็ตเป็นเวลาหลายชั่วโมง เปลี่ยนสิ่งแล้วเริ่มใหม่บ่อยครั้ง ในที่สุดก็เพิ่งrmจะเริ่มต้นอัตโนมัติทุกสิ่งที่เกี่ยวข้องกับ SSH สิ่งสุดท้ายที่ใช้งานได้อย่างน่าอัศจรรย์เพราะไม่มีเบ้าสำหรับตัวแทนที่นั่นอีก: /run/user/[uid]/keyring/ssh ปัญหา ปัญหาที่เหลืออยู่ก็คือว่าทั้งๆที่ของการได้รับผลดังกล่าวข้างต้นที่ยอดเยี่ยมของฉันบางสิ่งบางอย่างในgnome-keyringยังคงยืนยันในการตั้งค่าSSH_AUTH_SOCKไปยังตอนนี้ ไม่ใช่ที่มีอยู่ซ็อกเก็ตดังกล่าวข้างต้น มันเหมือนกับซอมบี้สิ่งเหล่านี้ไม่มีวันตาย คำถาม การตั้งค่าตัวแปรนั้นคืออะไรและทำที่ไหน? ผิดพลาด ฉันไม่ได้ถามว่าจะรีเซ็ตตัวแปรนั้นเป็นค่าอื่นได้อย่างไร ฉันไม่ได้ถามว่าฉันสามารถตั้งค่าทั้งระบบหรือในไฟล์การกำหนดค่าเชลล์ได้อย่างไร ฉันไม่ได้ขอคาถาวูดูสคริปต์บางตัวเพื่อหยุดการตั้งค่ารีเซ็ตยกเลิกการตั้งค่าหรือแทนที่สิ่งใด ๆ ฉันไม่ได้ขอคำแนะนำเกี่ยวกับวิธีถอนการติดตั้ง: ฉันยังต้องการรหัสผ่านของฉันและดูเหมือนว่าจะเป็นตัวจัดการรหัสผ่านที่สมบูรณ์แบบที่สุดใน Gnome ฉันต้องการสิ่งที่ปิดการใช้งานตามที่ควรจะเป็น

1
วิธีตั้งค่าอ็อพชันระบบย่อย sftp -s ในไฟล์คอนฟิกูเรชัน
คำสั่ง sftp รองรับตัวเลือกระบบย่อย (-s) ซึ่งอนุญาตให้ผู้ใช้รีโมตสามารถเลือกเรียกทำงานรีโมต sftp-server และเลือกที่จะอัพเกรดเป็น sudo ในกระบวนการเช่นนั้น sftp -s "/usr/bin/sudo /usr/libexec/openssh/sftp-server" xxx.yyy.zzz.aaa คำสั่งนี้เทียบกับตัวเลือกไคลเอ็นต์ ssh ใน ~ / .ssh / config อนุญาตให้ใช้ pubkey และพอร์ตที่กำหนดเองและการตั้งค่าผู้ใช้อย่างโปร่งใส อย่างไรก็ตามsubsystemดูเหมือนจะเฉพาะ sftp และด้วยเหตุนี้มันไม่ได้ตั้งค่าในไฟล์กำหนดค่าและจะต้องตั้งค่าเป็นตัวเลือกบรรทัดคำสั่งสำหรับ sftp อย่างไรก็ตามเครื่องมือบางอย่างห่อหุ้มการร้องขอ sftp ดังนั้นจึงเป็นไปไม่ได้ที่จะตั้งค่าตัวเลือกระบบย่อยและติดอยู่กับการเข้าถึงของผู้ใช้ มีไฟล์ตัวเลือกการกำหนดค่าบางอย่างที่ฉันสามารถใช้เพื่อตั้งค่านี้สำหรับ openssh sftp โดยทั่วไป? มีไฟล์กำหนดค่าบางอย่างที่มีผลต่อวิธีที่ gnome nautilus เรียกใช้ sftp สำหรับการรวมตัวจัดการไฟล์หรือไม่ อัปเดตวิธีแก้ปัญหาแฮ็ก แต่ทำงานได้ที่เป็นไปได้คือ ... ดังนั้นปรากฎว่าไม่มีไฟล์กำหนดค่าที่ชัดเจนที่ sftp จะใช้สำหรับตัวเลือกดังนั้นฉันจึงสิ้นสุดการแก้ไขสคริปต์ wrapper ทั่วไปเพื่อเพิ่มตัวเลือกอย่างชัดเจนสำหรับโฮสต์ที่ฉันเลือกโดยใส่สิ่งนี้ในเส้นทางของฉัน …
9 sudo  openssh  sftp  sshfs 

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