ssh özel anahtarlarını başka bir bilgisayara kopyala


52

Ssh sunucuma erişmek için başka bir bilgisayar kullanmam gerekiyor. Bunun nedeni, üniversitemde son zamanlarda uygulanan bir vpn'nin şu anki bilgisayarımda çalışmaması ve sunucuya erişimimi kaybetmemdir.

Şifreli ssh anahtarları ile ssh. Bu anahtarları yeni bilgisayara kopyalayabilir miyim (üzerinde vpn'nin çalıştığı). id_rsaVe id_rsa.pubdosyaları ~/.sshklasöre kopyalamayı denedim, ancak anahtarları tanımıyor ve anahtarların şifresini çözmek için bir parola girme isteği yok.

EDIT: Sunucuya yeni bilgisayar için yeni bir anahtar çifti oluşturmak üzere erişemiyorum ve ülke dışına çıkıyorum bu yüzden fiziksel olarak erişemiyorum.

Teşekkürler.


" id_rsh" Bir yazım hatası mıdır?
ændrük

1
Denemekle sorun hakkında daha fazla bilgi edinebilirsiniz ssh -v -i ~/.ssh/id_rsa ssh-server.
ændrük

bunu denedim. Anahtarları gönderiyor gibi görünüyor ancak şifrelerini çözmemeleri için asla bir şifre sormuyor. Ayrıca "Dolaşım sunucusuna izin vermiyor" garip bir genel ileti alıyorum. Sanırım özel anahtarların kopyalanması gerekmiyor;). Görünüşe göre sunucuma el ile giriş yapmak ve ssh ayarlarını değiştirmek için fiziksel erişimi olan birine güvenmek zorunda kalacağım. Yardımınız için teşekkürler.
benj

Özel anahtarlar asla kopyalanmamalıdır! BU GÜVENLİK RİSKİDİR. Her yeni cihaz için yeni anahtarlar üretin !!!!
Ether

Yanıtlar:


66

Özel anahtar dosyanızın izinlerini ve sahipliğini kontrol edin. Gönderen kılavuzda ,

Bu dosyalar hassas veriler içerir ve kullanıcı tarafından okunabilir ancak başkaları tarafından erişilebilir olmamalıdır (okuma / yazma / yürütme). ssh, başkaları tarafından erişilebilir durumda ise, özel bir anahtar dosyasını görmezden gelir.

Genelde, anahtar dosyalar şöyle görünmelidir,

$ ls -l ~/.ssh/id_rsa*
-rw------- 1 benj benj 1766 Jun 22  2011 .ssh/id_rsa
-rw-r--r-- 1 benj benj  388 Jun 22  2011 .ssh/id_rsa.pub

ile uygulayabileceğinizler:

$ chown benj:benj ~/.ssh/id_rsa*
$ chmod 600 ~/.ssh/id_rsa
$ chmod 644 ~/.ssh/id_rsa.pub

2
Teşekkürler. Bunu bilmek faydalıdır. Bir dosyayı başka bir bilgisayara kopyaladığınızda, izinler söz konusu kullanıcıya değişmiş gibi görünüyor. Durumda chmod ve chown scriptleri koştum. Maalesef sorunuma yardımcı olmadı.
benj

@John ツ bu benim için problemin bir parçası olabilirdi ama başka meseleler olduğu ortaya çıktı. Sonunda sunucuya fiziksel olarak giriş yapacak ve yeni bir anahtar ayarlayacak birini buldum. Ancak bunu muhtemelen kilit bir konuyu kapsadığı için kabul edeceğiz.
benj

Benim için çalıştı, @ benj.
Sinthia V

14

ssh-addSunucuya SSH'yi çalıştırmadan önce çalışmayı deneyin - daha sonra parola girmeniz istenir ve ardından sshbağlanan bağlantılar özel anahtarınızı kullanabilir.

ssh-addKomut tuşu aracıya tuşları ekler.


1
Bunun sorun olduğunu sanmıyorum, 1) SSH istemcisi işlevsel bir anahtar ajan olmadan başa çıkabiliyor, 2) sunucu "dolaşım izin verilmedi" mesajı ile yanıt vermez ve 3) ssh istemcisi kendi Ana aracıyla konuşurken hata mesajı bir şekilde başarısız oluyor. Bu konudaki düşüncelerimi bir cevap haline getirdim .
gertvdijk

Bu benim için sorunu çözdü. Ayrıca bunun için Github belgelerine bakın .
Ionică Bizău

8

Şifreli özel anahtarlar, karşılık gelen ortak anahtarlarının şifrelenmemiş olmasını sağlar . SSH istemcisinin uzak sunucuya şifresini sormadan nasıl bağlanabileceği budur (bu noktada yalnızca halka açık olanı sunar). Sunucu, genel anahtarı kabul ettiğinde, PC'nizdeki istemci özel anahtarın şifresini çözmek ister ve sizden parola ister.

Şimdi, sunucu yalnızca belirli bir IP adresinden bağlantı kabul ettiğinde, bu ilk adımda zaten reddedilir ve sunucudan aldığınız iletiyi "Sunucunun izin vermediği dolaşımda" açıklar.

Bu nedenle en iyi tahminim, sunucunuzun bu anahtar için yalnızca belirli IP adreslerine izin verecek şekilde kısıtlanmış olmasıdır. Bunu çeşitli şekillerde yapabilirsiniz, ancak bu, aşağıdakilerde yaygın bir durumdur ~/.ssh/authorized_keys:

from="192.168.1.2" ssh-rsa AAAAB3NzaC[...]

Şifrelenmemiş bir özel anahtarın ortak anahtarını şifresiz okuyabildiğinizi kanıtlamak için şunu çalıştırın:

ssh-keygen -y -f /path/to/private/key

1
Bu, SSH bağlantısıyla ilgili bir sorununuz olduğunda yanıt almak için iyi bir işlemdir. Teşekkür ederim.
Sinthia V
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.