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

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

1
git-upload-pack แฮงค์ไปเรื่อย ๆ
ฉันมีโครงสร้างการโทรต่อไปนี้: fab -Huser@host set_repository_commit_hash:123abcวิ่งเจนกินส์ set_repository_commit_hashวิ่งด้วยgit fetchpty = False กระบวนการเด็กssh git@github.com git-upload-pack 'user/repository.git'ไม่เคยเสร็จสิ้น ฉันได้ลองใช้งานgit fetchในรูปแบบโลคัลแล้ว แต่ก็ประสบความสำเร็จ แต่การรันssh git@github.com git-upload-pack 'user/repository.git'ก็แค่คืนค่าดังต่อไปนี้และแขวน: 00ab84249d3bb20930c185c08848c60b71f7b28990d6 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed agent=git/1.8.4 0041cb34b1c8ca75d478df38c794fc15c5f01cc6377e refs/heads/branch_name 004012577068adf47015001bfa0cff9386d6cdf497ce refs/heads/[...] 003f84249d3bb20930c185c08848c60b71f7b28990d6 refs/heads/master [a couple more lines like the ones above, then:] 0000 นี่เป็นปัญหาของ SSH / Git …
30 ssh  git  jenkins 

1
สาเหตุ SSH ในขณะที่วงจะหยุด
ในที่สุดฉันก็สามารถจัดการกับปัญหาที่ฉันต้องดิ้นรนเป็นเวลาสองสามสัปดาห์ ฉันใช้ SSH กับ "คีย์ที่ได้รับอนุญาต" เพื่อเรียกใช้คำสั่งจากระยะไกล ทั้งหมดเป็นเรื่องปกติยกเว้นเมื่อฉันทำในขณะที่ลูป ลูปสิ้นสุดลงหลังจากทำซ้ำใด ๆ ด้วยคำสั่ง ssh เป็นเวลานานที่ฉันคิดว่านี่เป็นความแปลกประหลาด ksh แต่ตอนนี้ฉันค้นพบว่าทุบตีทำในความเป็นจริงเหมือนกัน โปรแกรมตัวอย่างขนาดเล็กเพื่อสร้างปัญหาขึ้นอีกครั้ง นี่คือการกลั่นจากการใช้งานที่มีขนาดใหญ่ซึ่งจะนำภาพรวมและทำซ้ำพวกเขาระหว่างโหนดในคลัสเตอร์ #!/bin/bash set -x IDTAG=".*zone" MARKER="mark-$(date +%Y.%m.%d.%H.%M.%S)" REMOTE_HOST=sol10-target ZFSPARENT=rpool ssh $REMOTE_HOST zfs list -t filesystem -rHo name,mounted $ZFSPARENT | grep "/$IDTAG " > /tmp/actionlist #for RMT_FILESYSTEM in $(cat /tmp/actionlist) cat /tmp/actionlist | while read RMT_FILESYSTEM …

4
การอ้างถึง ssh $ host $ FOO และ ssh $ host“ sudo su user -c $ FOO”
ฉันมักจะจบลงด้วยการออกคำสั่งที่ซับซ้อนมากกว่า ssh; คำสั่งเหล่านี้เกี่ยวข้องกับ piping to awk หรือ perl one-line และด้วยเหตุนี้จึงมีการเสนอราคาเดียวและ $ 's ฉันไม่สามารถคิดออกกฎอย่างหนักและรวดเร็วในการอ้างอิงได้อย่างถูกต้องและไม่พบการอ้างอิงที่ดีสำหรับมัน ตัวอย่างเช่นพิจารณาสิ่งต่อไปนี้: # what I'd run locally: CMD='pgrep -fl java | grep -i datanode | awk '{print $1}' # this works with ssh $host "$CMD": CMD='pgrep -fl java | grep -i datanode | awk '"'"'{print $1}'"'" (สังเกตเครื่องหมายอัญประกาศพิเศษในคำสั่ง awk) …
30 bash  shell  ssh  quoting 

6
X ไคลเอนต์ส่งต่อผ่าน SSH“ ไม่สามารถเปิดการแสดง: localhost: 11.0”
ฉันได้เปิดใช้งานการส่งต่อ X บนเครื่องระยะไกลที่เซิร์ฟเวอร์ SSH กำลังทำงาน: # grep -i forward /etc/ssh/sshd_config X11Forwarding yes # บนเครื่องโลคัลฉันเริ่มต้นไคลเอ็นต์ SSH ด้วย-Xแฟล็กซึ่งสั่งให้เซิร์ฟเวอร์ SSH รันบนเครื่องรีโมตเพื่อตั้งค่าพร็อกซี X-server นอกจากนี้มันจะสร้าง$DISPLAYตัวแปรที่ชี้ไปยังพร็อกซีนี้และเรียกใช้xauthเพื่อติดตั้งพร็อกซีคีย์ซึ่งจะตรวจสอบความถูกต้องของพร็อกซีเซิร์ฟเวอร์ X นี้บนเครื่องระยะไกล: # echo "$DISPLAY" localhost:11.0 # xauth list | grep 11 A58/unix:11 MIT-MAGIC-COOKIE-1 39324086672d1ae35e373476c3891a77 # อย่างไรก็ตามไคลเอนต์ X บนเครื่องระยะไกลไม่เริ่มทำงานอย่างถูกต้อง: # wireshark (wireshark:10083): Gtk-WARNING **: cannot open display: localhost:11.0 # xterm …
30 ssh  x11  sshd 

3
โปรแกรมรันจากเซสชัน ssh ขึ้นอยู่กับการเชื่อมต่อหรือไม่?
โปรแกรมที่รันจากเซสชัน ssh นั้นขึ้นอยู่กับการเชื่อมต่อกับลูกค้าหรือไม่? ตัวอย่างเช่นเมื่อการเชื่อมต่อช้าจริงๆ ดังนั้นมันจะรอจนกว่าสิ่งที่พิมพ์บนหน้าจอหรือไม่ และถ้ามันขึ้นอยู่กับการเชื่อมต่อมันจะเกิดขึ้นกับหน้าจอหรือbyobuเช่นกัน? เนื่องจากโปรแกรมเหล่านี้ยังคงทำงานอยู่แม้จะถูกตัดการเชื่อมต่อจากโฮสต์ หมายเหตุ: ฉันพบคำถามที่เกี่ยวข้องเหล่านี้เท่านั้น: การยกเลิกการเชื่อมต่อชั่วคราวของเซสชัน ssh ส่งผลกระทบต่อโปรแกรมที่ทำงานอยู่หรือไม่? เกิดอะไรขึ้นกับเซสชันของหน้าจอผ่าน ssh เมื่อการเชื่อมต่อขาดหายไป
29 ssh  tty  job-control 

2
เหตุใดไฟล์ไบนารีนี้จึงถูกถ่ายโอนผ่าน“ ssh -t” กำลังถูกเปลี่ยนแปลง?
ฉันพยายามคัดลอกไฟล์ผ่าน SSHแต่ไม่สามารถใช้งานได้scpเนื่องจากไม่รู้ชื่อไฟล์ที่ฉันต้องการ แม้ว่าไฟล์ไบนารีขนาดเล็กและไฟล์ข้อความจะถ่ายโอนได้ดี แต่ไฟล์ไบนารีขนาดใหญ่ก็มีการเปลี่ยนแปลง นี่คือไฟล์บนเซิร์ฟเวอร์: remote$ ls -la -rw-rw-r-- 1 user user 244970907 Aug 24 11:11 foo.gz remote$ md5sum foo.gz 9b5a44dad9d129bab52cbc6d806e7fda foo.gz นี่คือไฟล์หลังจากที่ฉันย้ายมันไปแล้ว: local$ time ssh me@server.com -t 'cat /path/to/foo.gz' > latest.gz real 1m52.098s user 0m2.608s sys 0m4.370s local$ md5sum latest.gz 76fae9d6a4711bad1560092b539d034b latest.gz local$ ls -la -rw-rw-r-- 1 dotancohen dotancohen …
29 ssh  file-copy 

4
ฉันจะเล่นสตรีมเพลง HTTP บน SSH ได้อย่างไร
ฉันรู้ว่าฉันสามารถทำได้mplayer <stream>เพื่อเปิดและเล่นสตรีมบนเครื่องท้องถิ่น อย่างไรก็ตามฉันอยู่หลังไฟร์วอลล์ แต่ผมอยากจะเปิดสตรีมบนที่เครื่องระยะไกลแต่ก็ยังเล่นได้ในนี้ การเชื่อมต่อระยะไกลเป็นสิ่งที่SSHใช้ แต่การssh "mplayer <stream>"เปิดและเล่นกระแสข้อมูลบนรีโมทนั้น การ-xตั้งค่าสถานะSSH ช่วยให้ X11 แสดงการส่งต่อ ฉันต้องการสิ่งนั้นหรือไม่
29 ssh  http  mplayer  streaming  music 

10
Shell Script สำหรับการเข้าสู่เซิร์ฟเวอร์ ssh
ฉันพยายามเขียนเชลล์สคริปต์ซึ่งสามารถล็อกอินอัตโนมัติไปยังเซิร์ฟเวอร์ ssh โดยใช้รหัสผ่านที่กล่าวถึงในสคริปต์ ฉันได้เขียนรหัสต่อไปนี้: set timeout 30 /usr/bin/ssh -p 8484 root@172.31.72.103 expect { "root@172.31.72.103's password" { send "password\r" } } รหัสนี้ทำงานไม่ถูกต้อง แต่จะขอรหัสผ่าน ใครช่วยได้โปรดช่วยฉันแก้ปัญหานี้ด้วย
29 ssh  password  expect 

7
OS X: วิธีป้องกันไม่ให้คอมพิวเตอร์เข้าสู่โหมดสลีประหว่างเซสชัน ssh
เมื่อฉันsshเป็นOS Xคอมพิวเตอร์บนเครือข่ายของฉันเซสชั่นมีจำนวน จำกัด จนกว่าOS Xจะเข้าสู่การนอนหลับโหมด มีวิธีป้องกันไม่ให้เกิดเหตุการณ์นี้ในระหว่างเซสชันSSHของฉันนอกเหนือจากการกระแทกของเมาส์หรือแป้นพิมพ์หรือปิดใช้งานฟังก์ชัน sleep ด้วยตนเองหรือไม่ แก้ไข: เซสชั่น ssh จะเป็นเมานท์ sshfs ง่าย

5
การถ่ายโอน `scp 'ปิดเมื่อฉันปิดเชลล์หรือไม่
ฉันมีการscpถ่ายโอน (จากเซิร์ฟเวอร์ระยะไกลหนึ่งไปยังอีก) นั่นค่อนข้างใหญ่ ดังนั้นฉันอาจต้องการปิดคอมพิวเตอร์ที่ฉันใช้คำสั่งนี้จะสิ้นสุดการถ่ายโอนหรือไม่ ฉันsshสามารถเข้าถึงเชลล์โดยใช้โปรแกรม Bitwise
29 ssh  scp 

4
วิธีการ SSH จากโฮสต์ถึงแขกโดยใช้ QEMU
ฉันจะตั้งค่า ssh จากโฮสต์ไปยังแขกโดยใช้ qemu ได้อย่างไร? ฉันสามารถใช้การเปลี่ยนเส้นทางพอร์ตเมื่อฉันบูต VM โดยไม่มีพารามิเตอร์พิเศษดังต่อไปนี้: /usr/bin/qemu-system-x86_64 -hda ubuntu1204 -m 512 -redir tcp:7777::8001 แต่เมื่อฉันพยายามบูตโดยใช้สิ่งต่อไปนี้: /usr/bin/qemu-system-x86_64 \ -m 1024 \ -name vserialtest \ -hda ubuntu1204 \ -chardev socket,host=localhost,port=7777,server,nowait,id=port1-char \ -device virtio-serial \ -device virtserialport,id=port1,chardev=port1-char,name=org.fedoraproject.port.0 \ -net user,hostfwd=tcp:7777::8001 ฉันได้รับข้อผิดพลาดต่อไปนี้และ VM ไม่บูต: qemu-system-x86_64: -net user,hostfwd=tcp:7777::8001: invalid host forwarding rule 'tcp:7777::8001' qemu-system-x86_64: …
29 networking  ssh  qemu 

2
แปลงรหัสส่วนตัว OpenSSH เป็นรหัสส่วนตัว SSH2
มีวิธีแปลงคู่ของคีย์ OpenSSH ที่มีอยู่เป็นคู่ของ SSH2 (รูปแบบ ssh.com) หรือไม่? UPD : เนื่องจากมีคำตอบบางอย่างเกี่ยวกับการssh-keygenปรากฏตัวขึ้นอย่างฉับพลันฉันจะอธิบายว่าฉันมาจากไหน (เช่นกันจะเป็นคำตอบที่ดีสำหรับ "คุณลองทำอะไรบ้าง") $> diff --report-identical-files <(ssh-keygen -e -f ~/.ssh/id_dsa) <(ssh-keygen -e -f ~/.ssh/id_dsa.pub) Files /tmp/zshAGGWAK and /tmp/zshPZiIr6 are identical กล่าวอีกนัยหนึ่งคือssh-keygenส่งคืนคีย์เดียวกันสำหรับคีย์ส่วนตัวและคีย์สาธารณะ (แฮชของไฟล์ต้นฉบับแตกต่างกันอย่างเห็นได้ชัดฉันได้ตรวจสอบสองครั้งเพื่อให้แน่ใจว่าเป็นกุญแจส่วนตัวและกุญแจสาธารณะที่ถูกต้อง) ดูเหมือนว่าจะssh-keygenสร้างคีย์สาธารณะเฉพาะสำหรับคีย์ส่วนตัวหรือสาธารณะ ฉันทำผิดหรือเป็นพฤติกรรมปกติ

6
วิธีรันคำสั่ง ssh จนกว่าจะสำเร็จ
บางครั้งฉันรีสตาร์ทอุปกรณ์และจำเป็นต้องsshกลับเข้ามาใหม่เมื่อพร้อม ฉันต้องการเรียกใช้คำสั่ง ssh ทุก 5 วินาทีจนกระทั่งคำสั่งสำเร็จ ความพยายามครั้งแรกของฉัน: watch -n5 ssh me@device.local && exit 1 ฉันจะทำสิ่งนี้ได้อย่างไร
28 ssh  scripting  watch 

2
ฉันจะบังคับให้ผู้ใช้เปลี่ยนรหัสผ่านในการเข้าสู่ระบบครั้งแรกโดยใช้ ssh ได้อย่างไร
ฉันพยายามบังคับให้ผู้ใช้ที่เพิ่งสร้างใหม่เปลี่ยนรหัสผ่านในการเข้าสู่ระบบครั้งแรกโดยใช้ ssh เพื่อเหตุผลด้านความปลอดภัยฉันต้องการให้รหัสผ่านที่ปลอดภัยแก่เขาจนกว่าเขาจะลงชื่อเข้าใช้เป็นครั้งแรก ฉันทำสิ่งต่อไปนี้: useradd -s /bin/bash -m -d /home/foo foo passwd foo การทำchage -d 0 fooเพียงให้ฉันข้อผิดพลาดYour account has expired; please contact your system administratorในการเข้าสู่ระบบ ssh
28 linux  bash  ssh  login  pam 

1
ใช้ชื่อผู้ใช้ที่แตกต่างกันตามค่าเริ่มต้นสำหรับโฮสต์ที่เฉพาะเจาะจง
ฉันมีชื่อผู้ใช้อื่น (ที่ได้รับมอบหมายไม่สามารถเปลี่ยนได้) บนหนึ่งในเซิร์ฟเวอร์ที่ฉันเข้าสู่ระบบเป็นประจำและฉันต้องการหลีกเลี่ยงการเขียนลงทุกครั้ง ฉันสามารถสร้างเส้นเหล่านี้ได้ไหม [tohecz@localhost ~]$ ssh myserver.cz [tohecz@localhost ~]$ ssh anotherserver.cz ประพฤติปฏิบัติดังนี้ [tohecz@localhost ~]$ ssh tohecz@myserver.cz [tohecz@localhost ~]$ ssh anotheruser@anotherserver.cz
28 ssh  users 

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