ฉันมีคลัสเตอร์ HASOBO 2 โหนด
ฉันรันคำสั่งนี้กับต้นแบบ:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
ฉันจะยกเลิกสิ่งนี้ได้อย่างไร ฉันต้องการมอบหมายคีย์ใหม่จริง ๆ
192.168.1.1
เป็นทาส
ฉันมีคลัสเตอร์ HASOBO 2 โหนด
ฉันรันคำสั่งนี้กับต้นแบบ:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
ฉันจะยกเลิกสิ่งนี้ได้อย่างไร ฉันต้องการมอบหมายคีย์ใหม่จริง ๆ
192.168.1.1
เป็นทาส
คำตอบ:
ระบุคีย์สาธารณะที่คุณคัดลอกเมื่อคุณวิ่งssh-copy-id
:
cat ~/.ssh/id_rsa.pub
SSH ไปยังเซิร์ฟเวอร์ที่คุณคัดลอกคีย์ไปที่:
ssh hadoop@192.168.1.1
แก้ไขไฟล์~hadoop/.ssh/authorized_keys
บน192.168.1.1
โดยใช้โปรแกรมแก้ไขที่คุณต้องการและลบบรรทัดที่มีสำคัญของคุณ
ssh
เพื่อใช้sed
คำสั่ง (หรือคล้ายกัน) เพื่อแก้ไข~/.ssh/authorized_keys
และลบบรรทัด ดูsuperuser.com/questions/429954/…
หากคุณทำสิ่งที่ssh-copy-id
ชอบ:
remote='user@machine'
ssh-copy-id -i $remote
ดังนั้นคุณสามารถเข้าถึงเครื่องระยะไกลนี้ได้โดยไม่ต้องใช้รหัสผ่าน:
ssh $remote
หากต้องการยกเลิกในลักษณะที่เป็นระบบคุณสามารถเขียนสคริปต์ดังนี้:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
ฉันใช้มันในสคริปต์ฉันต้องการscp
ไฟล์หลายไฟล์ดังนั้นฉันจึงขอรหัสผ่านเพียงครั้งเดียว
AAA....==
สตริง (คีย์จริง) id_rsa.pub
หรือสำหรับสายที่สมบูรณ์จาก แต่ +1 สำหรับแสดงวิธีการลบคีย์โดยอัตโนมัติ
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1