ฉันมีคลัสเตอร์ 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