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.1
tercih editörü kullanarak ve anahtar içeren satırı silin.
ssh
bir sed
komut (veya benzeri) çalıştırmak için küçük bir tek ~/.ssh/authorized_keys
satı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 scp
Birkaç 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