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

SSH (Secure SHell) เป็นโปรโตคอลสำหรับการรันคำสั่งอย่างปลอดภัยบนคอมพิวเตอร์ระยะไกล ใช้แท็กนี้สำหรับคำถามเกี่ยวกับการกำหนดค่าการใช้และการแก้ไขปัญหาไคลเอ็นต์และซอฟต์แวร์เซิร์ฟเวอร์ SSH

2
cp: ไม่สามารถสถิติ: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
sshฉันได้รับข้อผิดพลาดเมื่อฉันพยายามที่จะคัดลอกไฟล์จากคอมพิวเตอร์ท้องถิ่นของฉันไปยังเซิร์ฟเวอร์ระยะไกลด้วย ฉันได้รับข้อผิดพลาดเหมือนกันไม่ว่าฉันจะใช้หรือcpscp นี่คือข้อมูลของฉันที่เกิดข้อผิดพลาด: [root@xxx.xx.xxx.xx /]# cp /home/username/some.xml root@xxx.xx.xxx.xx:/path/to/directory/ cp: cannot stat ‘/home/username/some.xml’: No such file or directory ฉันตรวจสอบแล้วและมีไฟล์ที่เส้นทาง/home/username/some.xmlบนเครื่องของฉัน CentOS 7ทั้งเครื่องคอมพิวเตอร์และเซิร์ฟเวอร์ระยะไกลกำลังทำงานอยู่ ฉันจะแก้ไขข้อผิดพลาดและคัดลอกได้อย่างไร
10 ssh  centos  cp  scp 

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

6
สคริปต์เพื่อ ssh และเรียกใช้คำสั่งไม่ทำงาน
ด้านล่างเป็นสคริปต์ ฉันต้องการลงชื่อเข้าใช้เซิร์ฟเวอร์หลายเครื่องและตรวจสอบรุ่นเคอร์เนล #!/bin/bash #input server names line by line in server.txt cat server.txt | while read line do sshpass -p password ssh root@$line << EOF hostname uname -r EOF done ฉันคาดว่าผลผลิตที่จะไป .. server1_hostname kernel_version server2_hostname kernel_version และอื่น ๆ .. ฉันใช้สคริปต์นี้กับเซิร์ฟเวอร์ประมาณ 80 แห่งใน server.txt และผลลัพธ์ที่ฉันได้รับก็เหมือน ..... Pseudo-terminal will not be allocated …
10 bash  shell-script  ssh 

2
แจ้ง - ส่งไม่ทำงานภายใต้ ssh
บางทีนี่อาจจะเป็นคำตอบที่อื่น แต่ฉันไม่เห็น ฉันใช้ Ubuntu 14.04 เมื่อฉัน SSH ลงในเครื่องของฉันตัวอย่างเช่น: ssh <user>@<machineip> notify-send "Hello" ฉันไม่เห็นสิ่งใดบนหน้าจอที่ฉันเข้าสู่ระบบ หากฉันนำหน้าnotify-sendด้วยDISPLAY=:0.0หรือDISPLAY=:0ไม่มีอะไรแตกต่างเกิดขึ้น ฉันไม่เคยเห็นการแจ้งเตือนใด ๆ ในเซสชันปัจจุบัน มีเคล็ดลับ / การเปลี่ยนเพื่อให้ทำงานได้หรือไม่? ในกรณีที่ไม่ชัดเจนอนุญาตให้ฉันย้ำ: จากคอมพิวเตอร์ A, ฉัน SSH ไปยังคอมพิวเตอร์ B. ภายในเซสชัน SSH ฉันต้องการที่จะดำเนินการแจ้งเตือนส่งเพื่อให้ทำงานบนคอมพิวเตอร์ B. ฉันคาดหวังว่าการแจ้งเตือนคำรามชนิดปรากฏ บนหน้าจอคอมพิวเตอร์ B.
10 ssh  libnotify 

1
ssh เข้าสู่บัญชีที่ไม่มีโฮมไดเร็กตอรี่
ตามคำถามก่อนหน้านี้ของฉันฉันได้ตัดสินใจสร้างบัญชีผู้ใช้ท้องถิ่นดังต่อไปนี้ adduser --system --no-create-home USERNAME sshตอนนี้ผมอยากให้ผู้ใช้ในท้องถิ่นเพื่อให้สามารถเข้าถึงเครื่องใช้ ตามความเข้าใจของฉันsshทำงานได้ดังนี้ สมมติว่าฉันมี 2 เครื่อง (พูดว่าอัลฟ่าและเบต้า ) จากเครื่องอัลฟ่า :ssh user@beta รหัสสาธารณะของอัลฟาจะแสดงภายใต้~/.ssh/authorized_keysในเครื่องเบต้า รหัสส่วนตัวของอัลฟ่าจะปรากฏภายใต้/~/.sshในเครื่องอัลฟา ตอนนี้ฉันได้วางแผนที่จะไม่ใช้บ้านสำหรับผู้ใช้ ดังนั้นสมมติว่าฉันadduserเข้าสู่เครื่องเบต้าโดยไม่ต้องมีผู้ใช้ที่บ้านฉันจะยังสามารถเปลี่ยนสถานะเป็นเบต้าจากอัลฟ่าได้หรือไม่

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

2
เหตุใดบันทึก sshd ของฉันจึงแสดงหลายครั้งในพอร์ตที่ไม่ถูกต้อง
ssh daemon ของฉันถูกตั้งค่าให้ฟังบนพอร์ต 2221 ฉันได้ปิดใช้งานการเข้าสู่ระบบด้วย root จาก ssh ฉันไม่เข้าใจว่าทำไมauth.logฉันจึงเห็นความพยายามในการเข้าสู่ระบบพอร์ตอื่น ๆ (ตัวอย่างกับ 4627 ที่นี่) May 17 15:36:04 srv01 sshd[21682]: PAM service(sshd) ignoring max retries; 6 > 3 May 17 15:36:08 srv01 sshd[21706]: User root from 218.10.19.134 not allowed because none of user's groups are listed in AllowGroups May 17 15:36:08 srv01 …


3
การกำหนดค่าการหมดเวลาเริ่มต้นสำหรับเอเจนต์ SSH
ฉันใช้ssh-addเพื่อเพิ่มคีย์ SSH ของฉันไปยังตัวแทน SSH โดยค่าเริ่มต้นจะเพิ่มพวกเขาไปเรื่อย ๆ มีตัวเลือกบรรทัดคำสั่งเพื่อระบุการหมดเวลา แต่มีตัวเลือกไฟล์การกำหนดค่าที่จะระบุการหมดเวลาเริ่มต้นหรือไม่ สิ่งที่ฉันต้องการคือสามารถรันssh-addโดยไม่มีพารามิเตอร์บรรทัดคำสั่งใด ๆ และให้มันเป็นค่าเริ่มต้นตามระยะเวลาที่กำหนดสำหรับการหมดเวลา (เช่นถ้าฉันเรียกssh-add -t 1h)
10 ssh  ssh-agent 

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
จะเกิดอะไรขึ้นกับการดำเนินการต่อเนื่องถ้าเราทำ ssh แล้วยกเลิกการเชื่อมต่อ?
ฉันกำลังย้ายไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีหนึ่งโดยใช้คำสั่ง mv อย่างไรก็ตามฉันถูกบังคับให้ปิดเครื่องคอมพิวเตอร์ซึ่งหมายความว่าการเชื่อมต่อกับเซิร์ฟเวอร์ขาดหายไป เกิดอะไรขึ้นกับคำสั่ง mv? หมายเหตุ: หลังจากฉัน relogin ฉันเห็นว่าไฟล์ทั้งหมดถูกย้ายอย่างถูกต้องแม้ว่าฉันแน่ใจว่ามันไม่ได้ถูกย้ายเมื่อฉันปิดการเชื่อมต่อ ดูเหมือนว่า mv จะยังคงทำงานต่อไป นี่คือฉัน ssh ถึงเครื่อง centosh ในเซิร์ฟเวอร์คลาวด์ steadfast.net
10 ssh 

1
ในกรณีใดที่ SIGHUP ไม่ส่งงานเมื่อคุณออกจากระบบ?
ฉันอ่านคำตอบจากผู้ใช้ที่อ้างว่าใช้งานได้ foo 2>&1 >& output.log & จะส่งผลfooให้ทำงานต่อไปแม้ในขณะที่ออกจากระบบ ตามที่ผู้ใช้คนนี้ทำงานได้ดีกว่าการเชื่อมต่อ SSH ฉันไม่เชื่อจริง ๆ เพราะฉันรู้สึกว่าในกรณีที่ตัดการเชื่อมต่อจาก SSH หรือยกเลิก TTY เชลล์และกระบวนการของมันจะได้รับ SIGHUP ทำให้พวกเขายุติ นี้ภายใต้สมมติฐานของฉันเป็นเหตุผล แต่เพียงผู้เดียวสำหรับการใช้nohupในกรณีดังกล่าวหรือtmux, screenet al, ฉันดูคู่มือของ glibc แล้ว : สัญญาณนี้ยังใช้เพื่อรายงานการยุติกระบวนการควบคุมในเทอร์มินัลไปยังงานที่เกี่ยวข้องกับเซสชันนั้น การยุตินี้จะยกเลิกการเชื่อมต่อกระบวนการทั้งหมดในเซสชันจากเทอร์มินัลการควบคุมอย่างมีประสิทธิภาพ ดูเหมือนว่าจะยืนยันความคิดของฉัน แต่เมื่อมองไปไกลมันก็บอกว่า : หากกระบวนการเป็นผู้นำเซสชันที่มีเทอร์มินัลการควบคุมสัญญาณ SIGHUP จะถูกส่งไปยังแต่ละกระบวนการในงานเบื้องหน้าและเทอร์มินัลการควบคุมจะถูกยกเลิกการเชื่อมโยงจากเซสชันนั้น ดังนั้นนี่หมายความว่างานที่อยู่ในพื้นหลังจะไม่ได้รับ SIGHUP หรือไม่? สำหรับความสับสนที่เพิ่มขึ้นของฉันฉันใช้เซสชัน Zsh แบบอินเทอร์แอคทีฟวิ่งyes >& /dev/null &และพิมพ์exitเมื่อ Zsh เตือนฉันว่าฉันทำงานอยู่และหลังจากพิมพ์exitครั้งที่สองบอกฉันว่ามีงานหนึ่งงาน การทำเช่นเดียวกันนี้ใน Bash ทำให้งานหยุดทำงาน ...
10 ssh  tty  signals 

3
วิธีดาวน์โหลดไฟล์ล่าสุดในโฟลเดอร์โดยใช้ scp
ฉันต้องการเรียกใช้ scp transfer เพื่อดาวน์โหลดไฟล์ล่าสุด (ล่าสุด) ในไดเรกทอรีหนึ่งไปยังไดเรกทอรีท้องถิ่นของฉัน บางสิ่งเช่นนี้ แหล่งที่มา :root@rimmer.sk:/home/rimmer/backups/ ปลายทาง :/home/rimmer/backups/ backupsขณะที่ได้รับไฟล์ใหม่เท่านั้นไม่ทั้งหมดของพวกเขาใน
10 shell  ssh  file-copy 

2
ssh-agent: อย่าส่งต่อการตรวจสอบสิทธิ์สำหรับพวงกุญแจทั้งหมด
ฉันมีสองคีย์ ssh ส่วนตัว: หนึ่งในการเข้าถึงของฉันบุคลากรเครื่อง หนึ่งในการเข้าถึงเซิร์ฟเวอร์ที่ฉันงาน ฉันจะเพิ่มคีย์ทั้งสองเพื่อตัวแทน ssh ssh-addของฉันด้วย ตอนนี้เมื่อฉันssh -A root@jobsrvต้องการส่งต่อการรับรองความถูกต้องของตัวแทนสำหรับคีย์งานของฉันเท่านั้น (อันที่ฉันใช้เชื่อมต่อjobsrv) ฉันต้องการสิ่งนี้เพราะทุกคนที่มีสิทธิ์เข้าถึงรูทjobsrvสามารถใช้เอเจนต์ของฉันเพื่อพิสูจน์ตัวตนกับเครื่องส่วนตัวของฉัน มีวิธีที่จะบรรลุความโดดเดี่ยวนี้ได้หรือไม่?

1
เปลี่ยนเส้นทาง linux console เมื่อบูต
เป็นไปได้ไหมในการบูทเพื่อเปลี่ยนเส้นทางคอนโซลเอาต์พุตไปยังscreenเซสชัน? เซิร์ฟเวอร์ไม่มีการเชื่อมต่อกับจอมอนิเตอร์และฉันต้องการดูผลลัพธ์ของคอนโซลหลัก ฉันเห็นโพสต์อื่น ๆ เกี่ยวกับการเปลี่ยนเส้นทางไปยังพอร์ตอนุกรม แต่ฉันควรใช้screenถ้าเป็นไปได้หรือวิธีอื่นเพื่อดูเอาต์พุตคอนโซลเมื่อลงชื่อเข้าใช้ผ่าน SSH กล่องกำลังทำงาน Raspbian Linux (Debian Wheezy)

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