Linux sunucumu, puttygen tarafından oluşturulan genel anahtarı yetkili_keys dosyasına ekleyerek ev bilgisayarımdaki bağlantıları kabul edecek şekilde ayarlıyorum.
Şimdi aynı makineye bağlanmaya çalışıyorum, ama bu sefer başka bir Ubuntu makinesinden. Aynı özel anahtarı kullanmak zorundayım (garip bir nedenden dolayı sorma ..) ve müşterim Ubuntu’ya nasıl yükleyeceğimi bilemiyorum.
Başka bir formata dönüştürmek zorunda mıyım?
Özel anahtarınızın ubuntu'da çalışıp çalışmayacağından emin değilim, ama buna değer. sadece anahtarları _/home/yourName/.ssh/
_ 'a kopyalayın; özel anahtarı _id_rsa
_ olarak ve genel anahtarı _id_rsa.pub
_ olarak adlandırın.
Bu işe yaramazsa, _ssh-keygen
_ kullanarak kendi ssh anahtar çiftinizi oluşturabilir ve yeni ortak anahtarı sunucuya kopyalayabilirsiniz ve ssh aşağıdaki gibi
_ssh -i ~/.ssh/id_rsa_ubuntu.pub <hostName>
_
Onunla oynamadım ama ssh-agent’ın ssh anahtarlarını yönetmek için de kullanılabileceğini duydum.
Tesadüf eseri, sadece bunu yapmak zorunda kaldım. Anahtarları OpenSSH formatına dönüştürmeniz gerekir. Bunu yapmak için komut şudur:
ssh-keygen -i -f puttygen_key > openssh_key
o zaman normal bir SSH anahtarında olduğu gibi openssh_key
in içeriğini .ssh/authorized_keys
içine kopyalayabilirsiniz.
-i
seçeneği, dönüştürmeyi yapması için ssh-keygen
seçeneğini belirten seçenektir. -f
seçeneği, dönüştürülecek anahtarı nerede bulacağını söyler.
Bu, şifrelenmemiş tuşları için çalışır. Genel anahtar şifrelenmemiş ancak özel anahtar şifrelenmiş. Özel anahtarın şifresini çözmenin, dönüştürmenin ve yeniden şifrelemenin bir yolu olup olmadığından emin değilim. Diğer anahtarın önerdiği gibi yeni anahtarlar kullanmak daha kolay olabilir (ve şu anki duruma dikey olmasına rağmen ssh-agent
kullanmanızı öneririm).
Andrew Stacey açıkladı Linux'ta anahtarların OpenSSH formatına nasıl çevrileceği.
Aynı şeyi Windows'ta yapmak istiyorsanız, şu adımları izleyin:
Ubuntu'da PuTTY anahtar çiftlerinizi OpenSSH anahtarları olarak nasıl kullanabilirsiniz:
apt-get install PuTTY-tools #Install PuTTY tools in Linux
cd /my-PuTTY-keys
puttygen mykey-sec.ppk ‐O private‐openssh ‐o my‐openssh‐key.sec
ssh-keygen -i -f mykey-pub.ppk > my-openssh-key.pub
4. adımın amacı, genel anahtarınızı * ~./Ssh/yetkili_ anahtarlarına * eklemek olduğundan, PuTTY gizli anahtarınızı 4'ü orta adım olarak kullanmak yerine kullanabilirsiniz:
puttygen ‐L mykey-sec.ppk >> $HOME/.ssh/authorized_keys
PuTTY/PuTTYgen kendi tescilli anahtar çifti formatını kullanır. OpenSSH anahtar formatlarının hüküm sürdüğü Linux'ta çalışmaz.
PuTTYgen'de, OpenSSH authorized_keys
dosyası tarafından kullanılan formatta bir public anahtarını doğrudan görebilir (ve kopyala + yapıştır).
public anahtarını .pub
biçiminde (RFC 4716) kaydetmek için Genel anahtarı kaydet düğmesini kullanabilirsiniz. Linux'ta dosya genellikle id_rsa.pub
(veya id_dsa.pub
) olarak adlandırılır. Ancak bu genellikle gerekli değildir.
private anahtarını OpenSSH biçiminde dışa aktarmak için Dönüşümler> OpenSSH anahtarını kullanın. Linux'ta dosya genellikle id_rsa
(veya id_dsa
) olarak adlandırılır ve .ssh
klasöründe depolanır.
Resmi görün PuTTYgen, PuTTY anahtar üreticisi .
Dönüşüm yapmak için PuTTYgen'in Linux sürümünü de kullanabilirsiniz. Linux sürümü, Windows sürümünün aksine komut satırıdır.
puttygen mykey.ppk ‐O private‐openssh ‐o id_rsa
Bkz. Linux puttygen
man sayfası .
Bir tane daha net bir çözüm buldum.
puttygen
üzerinde bir anahtar oluşturun, sonra Üst menüye gidin - Dönüşüm ve tıklayın openssh anahtarını ver
Dosya içeriği ile başlayacak ve bitecek
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
kök kullanıcı için Bu anahtar dosyayı /root/.ssh/
olarak id_rsa
veya id_dsa
olarak kopyalayın
diğer kullanıcılar için Bu anahtar dosyasını /home/user/.ssh/
olarak id_rsa
veya id_dsa
olarak kopyalayın
Not :
authorized_keys
düzenlemeye gerek yok.* * Dikkatli olun ve kutuya konsol erişiminiz olduğundan emin olun, çünkü doğru yapmazsanız, konsoldan düzeltene kadar tekrar ssh yapamazsınız.
İşlem düşündüğünüzden çok daha kolay. Puttygen'de oluşturduğunuz genel/özel anahtar çiftini tekrar yükleyin. Puttygen'de, ekranın ortasında şöyle bir pencere göreceksiniz: "Açık SSH yetkili_keys dosyasına yapıştırmak için genel anahtar:".
kutunun tüm içeriğini vurgulayın ve kopyalamak için control-c tuşlarına basın.
Linux kutunuza SSH yazıp "/home/username/.ssh/authorized_keys" dosyasına yapıştırın. Nano kullanmayı tercih ediyorum ve yapıştırmak için sağ tıklayın. Hepsinin bir satırda kaldığından emin olun.
/ Etc/sshd_config dosyanızı gerektiği gibi değiştirin ve sshd servisinizi yeniden başlatın: "service ssh restart"
Örnek bir sshd_config dosyasına ihtiyacınız varsa, bana bildirin ve benimkini gönderebilirim.
Bunu Ubuntu 8.04, 10.04 ve 12.04 LTS sunucusunda yaptım ve kaygan çalışıyor.
Bu konunun hala etkin olup olmadığından emin değilim, ancak şimdi Ubuntu çekirdeğini destekleyen Windows 10 yıldönümü baskısında da benzer bir sorunla karşılaştım. Linux makineye bağlanmadan önce PuTTY kullanıyorum. Linux biçiminde id_rsa oluşturmak için, puttykeygen kullanın ve PuTTY özel anahtarınızı yükleyin, ardından dönüştürmeye tıklayın ve ikinci seçeneği seçin.
PuTTY KeyGenerator conevrsions
yeni oluşturulan anahtar dosyasını açın ve tüm içeriğini kopyalayın, içeriğinizin başladığından emin olun: ----- BEGIN RSA ÖZEL KEY ----- ve ile biter ----- END RSA ÖZEL ANAHTAR -----
vi id_rsa ~/.ssh dizininize kopyalayın ve kopyalanan içerikleri yapıştırın, çünkü bu gereklidir çünkü linux aksi takdirde dosyanın içeriğini anlamaz.
Hepsi bu, uzak sunucuya ssh'yi deneyin, çalışması gerekiyor.