2 düğümlü bir hadoop kümem var.
Bu komutu master üzerinde çalıştırdım:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Bunu nasıl geri alabilirim? Aslında anahtarı yeniden atamak istiyorum.
192.168.1.1 köledir.
2 düğümlü bir hadoop kümem var.
Bu komutu master üzerinde çalıştırdım:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
Bunu nasıl geri alabilirim? Aslında anahtarı yeniden atamak istiyorum.
192.168.1.1 köledir.
Yanıtlar:
Çalıştırdığınızda kopyaladığınız genel anahtarı tanımlayın ssh-copy-id:
cat ~/.ssh/id_rsa.pub
SSH'yi anahtarı kopyaladığınız sunucuya kopyalayın:
ssh hadoop@192.168.1.1
Düzen dosya ~hadoop/.ssh/authorized_keysüzerinde 192.168.1.1tercih editörü kullanarak ve anahtar içeren satırı silin.
sshbir sedkomut (veya benzeri) çalıştırmak için küçük bir tek ~/.ssh/authorized_keyssatırla kendiniz "otomatikleştirebilirsiniz" . Bkz. Superuser.com/questions/429954/…
Bir beğeni yaptıysanız ssh-copy-id:
remote='user@machine'
ssh-copy-id -i $remote
Böylece bu uzak makineye şifre kullanmadan erişebilirsiniz:
ssh $remote
Sistematik bir şekilde geri almak için aşağıdaki gibi bir komut dosyası yazabilirsiniz:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
Komut dosyalarında kullanıyorum scpBirkaç dosyaya ihtiyacım var , bu yüzden sadece bir kez şifre soruyorum.
AAA....==dize (gerçek anahtar) ya da gelen tüm satır için grep id_rsa.pub. Ancak +1, bir anahtarın kaldırılmasını otomatikleştirmeyi göstermek için.
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1