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

กลไกการอนุญาตสำหรับ SSH ที่เกี่ยวข้องกับการเข้ารหัสคีย์สาธารณะ

1
SSH ForwardAgent หลายฮ็อพ
ฉันกำลังค้นหาวิธีแก้ไขปัญหาต่อไปนี้ใน 2 ชั่วโมงที่ผ่านมาโดยไม่มีโชค การพัฒนา: ฉันใช้การรับรองความถูกต้อง publickey เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของฉัน ฉันใช้การส่งต่อ ssh-agent เพื่อไม่ต้องจัดการกุญแจสาธารณะ / ส่วนตัว A, B and Cสมมติว่าผมมีเซิร์ฟเวอร์ LOCAL ---> A ---> Bนี้ทำงานได้ดีมากถ้าฉันเชื่อมต่อจาก LOCAL ---> A ---> Cนอกจากนี้ยังทำงานได้ดีมากถ้าผมทำ ตอนนี้ถ้าฉันลองLOCAL ---> A ---> B ---> CSSH ไม่สามารถเชื่อมต่อB to Cได้ น่าสังเกต: ฉันเชื่อมต่อกับเซิร์ฟเวอร์ A เป็นสภาพคล่องในขณะที่ฉันเชื่อมต่อกับเซิร์ฟเวอร์ B ในฐานะรูท การเชื่อมต่อกับเซิร์ฟเวอร์ B เนื่องจากสภาพคล่องช่วยแก้ไขปัญหาได้ แต่นี่ไม่ใช่ตัวเลือกสำหรับฉัน ตามคำแนะนำของผู้ใช้ฉันใช้ssh -Aแต่ละครั้งเพื่อให้แน่ใจว่าตัวแทนการส่งต่อถูกเปิดใช้งาน ฉันพบหนึ่งคำถามที่คล้ายกันโดยไม่มีคำตอบที่นี่: เป็นไปได้หรือไม่ที่จะส่งต่อเอเจนต์ …

1
บรรทัดคำสั่ง ssh ระบุลายนิ้วมือคีย์โฮสต์เซิร์ฟเวอร์
ใช้sshบรรทัดคำสั่ง (OpenSSH) ฉันสามารถระบุลายนิ้วมือของคีย์โฮสต์ของเซิร์ฟเวอร์ได้หรือไม่ สิ่งนี้เป็นไปได้เมื่อใช้ winscp.com โดยใช้ (เช่น) -hostkey="ssh-rsa 2048 AA:BB:CC...etc ฉันได้อ่านหน้าคนสองสามครั้งฉันขอโทษถ้าฉันพลาดที่นั่น ฉันไม่ต้องการเพียงยอมรับรหัสโฮสต์โดยอัตโนมัติและฉันไม่ต้องการให้ผู้ใช้อัปเดตknown_hostsแต่ระบุรหัสโฮสต์ในบางรูปแบบในบรรทัดคำสั่ง

5
ยอมรับลายนิ้วมือคีย์ rsa โดยอัตโนมัติจากบรรทัดคำสั่ง
ฉันพยายามyes | ssh root@10.x.x.xที่จะยอมรับลายนิ้วมือคีย์ RSA แต่ยังคงได้รับแจ้งถ้าฉันแน่ใจว่าฉันต้องการเชื่อมต่อ มีวิธีทำให้อัตโนมัติหรือไม่

1
Bash บอกฉันว่าใช้คีย์สาธารณะ SSH ใดในการตรวจสอบ?
สมมติว่าฉันต้องการติดตามrootผู้ใช้ของฉัน /root/.ssh/authorized_keysแต่ละคนมีคีย์ส่วนตัวที่ไม่ซ้ำกันและกุญแจสาธารณะของพวกเขาได้รับการจัดเก็บไว้ใน ระบุว่าผู้ใช้แต่ละคนลงชื่อเข้าใช้ด้วยคีย์เฉพาะของพวกเขาฉันจะบอกได้อย่างไรจากภายในเซสชัน BASH ว่าใช้คีย์ใดในการตรวจสอบสิทธิ์ ฉันลองดูตัวแปรสภาพแวดล้อมเมื่อฉันเข้าสู่ระบบ แต่ไม่เห็นสิ่งใดที่สัมพันธ์กับเซสชันของฉันด้วยรหัสสาธารณะของฉัน
14 bash  ssh-keys 

2
วิธีเพิกถอนใบรับรอง ssh (ไม่ใช่ ssh identity file!)
ฉันได้สร้างใบรับรอง ssh เช่นนี้: ssh-keygen -f ca_key # สร้าง ssh keypair สำหรับใช้เป็นใบรับรอง สร้างรหัสโฮสต์ ssh-keygen -s ca_key -I cert_identifier -h host_key.pub ระบุรหัสโฮสต์ในไฟล์ sshd config ของเซิร์ฟเวอร์: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub สร้างใบรับรองท้องถิ่นในการเข้าถึงโฮสต์ใช้ใบรับรอง ssh-keygen -s ca_key -I cert_identifier user_key.pubSSH: สิ่งนี้ควรสร้าง user_key-cert.pub ตอนนี้ฉันสามารถเข้าสู่เซิร์ฟเวอร์โดยใช้ssh -i user_key user@host(ซึ่งใช้ user_key-cert.pub) ฉันจะเพิกถอนใบรับรองนอกเหนือจากการปิดใช้งานไฟล์ TrustedUserCAKeys ได้อย่างไร
14 ssh  ssh-keys 

2
การวางคีย์ RSA ลงในหลุมฝังศพของคีย์สีฟ้า
ฉันจะเก็บคู่กุญแจของฉัน (โดยทั่วไปคือ id_rsa และ id_rsa.pub) ในหลุมฝังศพคีย์สีฟ้าได้อย่างไร ฉันต้องการใส่กุญแจสาธารณะในบริการ GIT ของฉันและอนุญาตให้เครื่องเสมือนดาวน์โหลดกุญแจส่วนตัวจาก Azure key vault -> เพื่อให้สามารถเข้าถึง GIT ได้อย่างปลอดภัย ฉันพยายามสร้างไฟล์ PEM คู่หนึ่งและรวมมันเป็น pfx แล้วอัปโหลดแบบลับๆไฟล์ที่ฉันได้รับกลับมาดูเหมือนจะแตกต่างอย่างสิ้นเชิงกับไฟล์ pem ทั้งสอง ฉันพยายามป้อนรหัสลับของฉันด้วยตนเองใน Azure แต่เปลี่ยนบรรทัดใหม่เป็นช่องว่าง

1
บรรทัด AuthorizedKeysFile แสดงความคิดเห็น แต่ก็ยังคงใช้งานได้
ฉันตั้งค่าเซิร์ฟเวอร์ใน Linode และทำตามคำแนะนำการรักษาความปลอดภัยเซิร์ฟเวอร์ของพวกเขา พวกเขาแนะนำให้ตั้งค่าการตรวจสอบความถูกต้องของคู่คีย์ ssh ฉันได้อัพโหลดกุญแจสาธารณะของฉันไปยังเซิร์ฟเวอร์แล้วและการตรวจสอบความถูกต้องของคู่คีย์นั้นทำงานได้ดี แต่มันจะทำงานอย่างไรถ้าบรรทัดต่อไปนี้ถูกคอมเม้นต์ในsshd_config: #AuthorizedKeysFile %h/.ssh/authorized_keys
13 linux  ubuntu  ssh  ssh-keys 

5
SSH access gateway สำหรับเซิร์ฟเวอร์จำนวนมาก
การจัดการเซิร์ฟเวอร์หลายเครื่องเกิน 90 ในปัจจุบันด้วย 3 devops ผ่าน Ansible ทั้งหมดใช้งานได้ดี แต่มีปัญหาด้านความปลอดภัยที่ใหญ่มากในขณะนี้ devop แต่ละตัวใช้คีย์ ssh ในเครื่องของตนเองเพื่อเข้าถึงเซิร์ฟเวอร์โดยตรง อุปกรณ์ devop แต่ละตัวใช้แล็ปท็อปและแล็ปท็อปแต่ละเครื่องอาจถูกบุกรุกดังนั้นการเปิดเครือข่ายทั้งหมดของเซิร์ฟเวอร์ที่ใช้ในการโจมตี ฉันกำลังมองหาโซลูชันเพื่อจัดการการเข้าถึงจากส่วนกลางและบล็อกการเข้าถึงสำหรับคีย์ที่กำหนด ไม่ต่างกับวิธีการเพิ่มคีย์ใน bitbucket หรือ GitHub ปิดด้านบนของหัวของฉันฉันจะถือว่าทางออกจะเป็นอุโมงค์จากเครื่องหนึ่งเกตเวย์ไปยังเซิร์ฟเวอร์ที่ต้องการ ... ในขณะที่ผ่านเกตเวย์คำขอจะรับคีย์ใหม่และใช้เพื่อเข้าถึงการเข้าถึง เซิร์ฟเวอร์ ผลที่ได้คือเราสามารถฆ่าการเข้าถึง devop ได้อย่างรวดเร็วและมีประสิทธิภาพภายในไม่กี่วินาทีโดยเพียงแค่ปฏิเสธการเข้าถึงเกตเวย์ นี่เป็นตรรกะที่ดีหรือไม่? มีใครเห็นวิธีแก้ปัญหาเพื่อป้องกันปัญหานี้อยู่แล้ว?

1
ผู้ใช้ @ โฮสต์ในพับลิกคีย์ SSH-RSA
user @ host ใดที่บทบาทมักปรากฏที่ส่วนท้ายของการเล่นคีย์สาธารณะ ssh-rsa จำเป็นหรือไม่ ถ้าให้บริการเพื่อวัตถุประสงค์ใด ๆ ในการรับรองความถูกต้องหรือเป็นเพียงการบันทึกว่าใครและที่สำคัญถูกสร้างขึ้นโดยเพื่อวัตถุประสงค์ข้อมูล (สำหรับผู้อ่านของมนุษย์)?

2
ปรับใช้คีย์ ssh จากมาสเตอร์ไปยังมิเนียนผ่านทางเสาเกลือ
ฉันมีสองปุ่ม ssh ที่ฉันพยายามปรับใช้กับหนึ่งในลูกน้องของฉัน แต่ฉันไม่สามารถนำไปใช้งานได้ มันผิดพลาด นี่คือinit.slsเสาหลัก: /xxx/yyy/zzz/id_rsa: file.managed: - source: salt://private/id_rsa /xxx/yyy/zz/id_rsa.pub: file.managed: - source: salt://private/id_rsa.pub นี่คือinit.slsสถานะของฉัน: ssh: file.managed: - name: {{ pillar['private'] }} ฉันต้องทำอะไรผิด (ชัด) แต่ฉันไม่แน่ใจ ข้อเสนอแนะใด ๆ

2
การเปลี่ยนวลีรหัสผ่านของไพรเวทคีย์ puttygen ใน Windows
ฉันมีคีย์ส่วนตัวใน Windows puttygen.exeที่สร้างขึ้นโดย ฉันใช้ตัวเลือกเริ่มต้นเพื่อบันทึกเครื่องมือให้.ppkส่วนขยายโดยอัตโนมัติและดูเหมือนว่า: PuTTY-User-Key-File-2: ssh-rsa Encryption: none Comment: rsa-key-20130627 Public-Lines: 4 AAAAB3NzaC1yc2EAAAABJQAAAIBnvvAhyMs4rdlQd4OdajDw4jIPi6vIjrWjt4l4 5C3wHOSxyQQdtSA8XT3K0rSBnNtZRJTb5mfix67qQe3pHCTMSNsYIaBi8xQJHZRa RxdY+1VtGnSlEma8KO2We9eDNCGiwrRTUzqvTiGCnzU0pF1MXxu3ObISJcpqv+sQ 1GB0cw== Private-Lines: 8 AAAA.......... Private-MAC: XXXXXXXXX ตอนนี้ฉันต้องเปลี่ยนข้อความรหัสผ่านและจากเอกสารสิ่งนี้ดูเรียบง่ายพอ: puttygen.exe -P key.ppk แต่นี่จะปรากฏขึ้นหน้าต่างที่มีข้อผิดพลาดนี้: PuTTYgen Error: Couldn't load private key (unable to open file) ฉันพยายามเปลี่ยนข้อความรหัสผ่านที่ใช้ssh-keygenกับ Git Bash ด้วย: ssh-keygen.exe -p -f key.ppk มันจะถามสำหรับวลีรหัสผ่านเก่าของฉัน Bad passphraseแต่แล้วมันทำให้ฉันข้อผิดพลาด สิ่งใดไม่เป็นความจริงเพราะฉันสามารถเพิ่มรหัสpageant.exeและฉันไม่พิมพ์ข้อความรหัสผ่านผิด ... มีอะไรอีกบ้างที่ฉันสามารถลองเปลี่ยนหรือวางข้อความรหัสผ่านได้

2
จะทำอย่างไรเมื่อมีคนล็อกออนด้วยรูทบนเซิร์ฟเวอร์ของฉัน
ฉันมีเซิร์ฟเวอร์ที่ใช้ Debian 6.0 โดยมีการติดตั้ง logcheck เมื่อวานนี้ฉันได้รับข้อความนี้: Jan 19 19:15:10 hostname sshd[28397]: Authentication tried for root with correct key but not from a permitted host (host=4.red-2-140-77.dynamicip.rima-tde.net, ip=2.140.77.4). ฉันไม่รู้ว่านี่คือใครและฉันสงสัยว่าเขาอยู่ที่นั่นโดยไม่ได้ตั้งใจ ตอนนี้ฉันควรทำอย่างไร สิ่งแรกที่ฉันทำคือปิดการใช้งานการตรวจสอบรหัสผ่าน ssh และเปลี่ยนเป็นคีย์สาธารณะ / ส่วนตัว ฉันตรวจสอบไฟล์ authorized_keys และเห็นเฉพาะกุญแจสาธารณะของฉันด้วย อะไรต่อไป ฉันจะรู้ได้อย่างไรว่าคนอื่นทำอะไรในเครื่องของฉัน?

1
ไฟล์คีย์ ssh เดียวสำหรับหลายเครื่องแทนที่จะเป็นคู่กับเครื่องเดียว?
ขณะนี้ฉันกำลังใช้การเข้าสู่ระบบกุญแจคู่กับเซิร์ฟเวอร์ของฉันดังนี้: สร้างคู่กุญแจจากแล็ปท็อปท้องถิ่นของฉัน: me@macbook:~ $ ssh-keygen -t rsa โอน pub key จากแล็ปท็อปไปยังเซิร์ฟเวอร์: me@macbook:$ scp ~/.ssh/id_rsa.pub user@myserver.com:~/id_rsa.pub ในเซิร์ฟเวอร์เพิ่ม pub key ไปยังไฟล์ authorized_keys $ cat id_rsa.pub >> ~/.ssh/authorized_keys และฉันปิดการใช้งานรหัสผ่านสำหรับ ssh ปัญหาคือกุญแจสามารถใช้เฉพาะในแล็ปท็อปของฉันเพื่อ ssh ในเซิร์ฟเวอร์ของฉันดูเหมือนว่ามันจะผูกกับแล็ปท็อป macbook ของฉัน นั่นหมายความว่าถ้าฉันอยู่กับคอมพิวเตอร์เครื่องอื่นฉันจะไม่สามารถใช้คีย์ส่วนตัวนั้นกับ ssh ได้ ในกรณีที่เลวร้ายที่สุดถ้าฉันทำแล็ปท็อปหายฉันจะถูกล็อคไม่มีทางที่จะเข้าระบบ (แก้ไขให้ฉันถ้าฉันผิดฉันสับสน) ฉันจะทำให้คีย์ส่วนตัวสามารถใช้งานได้กับหลาย ๆ เครื่องได้อย่างไร (เช่น AWS ec2 ฉันสามารถใช้ไฟล์. pem ที่ใดก็ได้เพื่อ ssh) ขอบคุณ ด้านล่างคือเนื้อหาของไฟล์ authorized_keys
11 ssh-keys 

7
จะสร้างคีย์ SSH โฮสต์ผ่าน ansible ได้อย่างไร
ฉันกำลังพยายามสร้างคีย์โฮสต์ ssh อีกครั้งบนเซิร์ฟเวอร์ระยะไกลจำนวนหนึ่งผ่านทาง ansible (และssh-keygen) แต่ไฟล์ดูเหมือนจะไม่ปรากฏขึ้น Playbook นั้นใช้งานได้ดี แต่ไฟล์ในรีโมตจะไม่เปลี่ยนแปลง ฉันต้องหันไปใช้echo -eแฮ็คเกอร์เนื่องจากรีโมตเหล่านี้ใช้งาน Ubuntu 14.04 และยังไม่มีเวอร์ชั่นที่ถูกต้องของรุ่นที่python-pexpectใช้งานได้ (อ้างอิงจาก ansible) ฉันกำลังคิดถึงอะไร Playbook และผลลัพธ์ของฉันอยู่ด้านล่าง: PlayBook --- - hosts: all become: true gather_facts: false tasks: - name: Generate /etc/ssh/ RSA host key command : echo -e 'y\n'|ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C "" -N "" …
11 ansible  ssh-keys 

3
แจกจ่ายคีย์สาธารณะ ssh ในโฮสต์
ฉันกำลังตั้งค่าเครื่องบางอย่างด้วย Ansible และจำเป็นต้องเปิดใช้งานการเชื่อมต่อรหัสผ่านน้อยลงระหว่างพวกเขา ฉันมีต้นแบบฐานข้อมูลและทาสหลายคน สำหรับการจำลองแบบเริ่มต้นทาสจะต้อง ssh ลงในต้นแบบและรับสำเนาของฐานข้อมูล ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการเพิ่มกุญแจสาธารณะทาสทั้งหมดลงในauthorized_keysไฟล์ต้นแบบคืออะไร ฉันคิดเกี่ยวกับการนำเสนอพับลิกคีย์ของทาสเป็นตัวแปรแล้วเพิ่มผ่านauthorized_keyโมดูล แต่ฉันจะต้องรักษารายการของคีย์ ฉันกำลังมองหาวิธีการที่ฉันเพิ่งเพิ่มโฮสต์อื่นกลุ่มทาสและส่วนที่เหลือจะทำงานโดยอัตโนมัติ ความคิดใด ๆ ปรับปรุง: จนถึงตอนนี้ฉันได้รับรหัสหลอกต่อไปนี้: # collect public keys from slave machines - name: collect slave keys {% for host in groups['databases_slave'] %} shell: /bin/cat /var/lib/postgresql/.ssh/id_rsa.pub register: slave_keys #how to add to an array here? {% endfor %} # Tasks …

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