Herkese merhaba, ansible'da yeniyim, Ubuntu 16.04 ve ansible 2.2 üzerinde çalışıyorum, bitbucket deposunu ansible kullanarak uzak sunucuya nasıl çekebilirim? Ana bilgisayarlara bağlandım ve uzak sunucuya ansible'ımı kullanarak basit komutları pingleyebiliyor veya çalıştırabiliyorum, bu yöntemi uzak sunucuda özel repo klonlamayı denedim ancak şu hatayı aldım:

"stderr": "Cloning into '/home/deploy/test'...\nPermission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n",

Bitbucket'ten ssh anahtarı oluşturmam veya ortak anahtarımı bitbucket'e eklemem gerekir mi? Daha önce de söylediğim gibi çok yeniyim ve bu oldukça acil, teşekkür ederim.

answer

En iyi çözüm, iş istasyonunuzda bir anahtar çifti oluşturmak, genel anahtarı bitbucket'e yüklemek ve özel anahtarı hedef sunucuda git klonunu yaptığınız kullanıcıya kopyalamaktır. Bu çözümle, her birinde yeni bir anahtar çifti oluşturmadan birden çok sunucuya dağıtımı otomatikleştirebilirsiniz.

Anahtar dosyasını key_fileAnsible git modülünden seçenek ile belirtebilirsiniz.

genel olarak özel anahtarın kullanılması güvenli kabul edilmez çünkü hedef sunucu saldırıya uğrarsa bu anahtar açığa çıkar. Güvenli alternatif, ansible örneğinden ssh aracısı iletmeyi kullanmaktır. bu şekilde yalnızca yanıtlayıcı anahtarın bitbucket'e kaydedilmesi gerekir ve asla hedef ana bilgisayarlarda gösterilmez. bu makaleye bir göz atın: https://www.jeffgeerling.com/blog/2018/cloning-private-github-repositories-ansible-on-remote-server-through-ssh ssh anahtarının nasıl ekleneceğini bilmek istiyorsanız ssh-agent'a: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/