ssh-copy-id - izin reddedildi (publickey) [kapalı]


30

Sanal makineye sahip bilgisayardaki mysql sunucusuna ssh tüneli kurmak istiyorum. Ayrıca, makine yeniden başlatıldığında tünelin çalışması gerekir.

Diyelim ki A Linux yazılımına sahip bir bilgisayar. B - A bilgisayarındaki sanal makine.

MySQL B’de.

C - A bilgisayarındaki B'deki MySQL'e bağlanmak isteyen sanal bir makinedir.

Şimdi bu yazı ile: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/

Ortak anahtarı uzak sunucuya kopyalamaya çalışıyorum. Sanırım bilgisayara A kopyalamam gerekiyor.

ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Şimdi id_rsa.pub.bak dosyasının şifresini girmeye çalıştım. Reddedildi.

Daha sonra, /home/puseruser//ssh/id_rsa 'da, kopyalamaya çalıştığım ortak anahtardan farklı bir anahtar kullandığını görüyorum, elbette ki, özel anahtarın farklı olması gerekir, ancak başka birisinin genel anahtarını kopyalarım. Özel anahtar. Ben de onun parolasını kullanmaya çalıştım. Ayrıca reddedildi.

Parola neden reddedilirse nasıl hata ayıklayabilirim?

Güncelleştirme

Yorumlara dayanarak id_rsa.pub adında yeni bir dosya oluşturdum, burada her şey bir satırda

ve çalıştırın ve hala hata alıyorum.

ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Güncelleştirme

A bilgisayarındaki .ssh klasöründeki ve onay_anahtarlarındaki izinler kontrol edildi - yorum iyi olduklarını söyleyerek 700 ve 600.

Güncelleştirme

Parola kimlik doğrulaması evet bilgisayarda ayarlandı ve hizmeti yeniden başlatmaya çalıştım. Cevabına göre yeniden başlatma işe yaramadı, sshd tanınmadığını yazdı, bu yüzden kullanarak yeniden başlattım:

sudo /etc/init.d/ssh restart

Daha sonra C makinesinde A makinesine kopyalamak için tekrar denendi.

ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v

ve hala aynı:

Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Anahtarı el ile yetkili_ anahtarlara kopyalamaya gidersem, ortak anahtarın zaten var olduğunu, aynısını kopyalamak istediğimi görüyorum. İş arkadaşıma sordum, kopyalamadığını söyledi. Bu yüzden orada nasıl olabileceğini bile anlamadım.

Tamam, eğer orada olsaydı iyi olurdu, ama orada kalarak parolaya girmeden ssh ile bağlantı kurmama izin vermiyor. Ancak parola girme ile bağlantı kurabildim. Yani burada bir şeyler hala açıkça yanlış. Ve kopyalamaya çalıştığım anahtar boş parola ile. Ssh ile bağlandığımda boş olmayan bir parola girdim.

Aynı ortak anahtar boş parola kabul edemez ve boş olmayan parola kabul edemez. Peki neden yüklemeye çalıştığım ortak anahtar, eğer parolalar farklı ise, yetkili_keys dosyasındaki anahtarla aynı mı? Her bir karakteri kontrol etmedim, ancak anahtarların o kadar benzer olması, parola farklı olduğunu düşündüğümde bile, başlangıç ​​ve bitiş aynı olmayacaktı.


Hangi dosyalardan başlıyorsunuz id_rsa? Ben beklenir ssh-copy-ido ile biten bir dosya beklediği gibi bir hata mesajı ile onu aramak şekilde başarısız olmasına .pub. Sizinki bittiği .bakzaman muhtemelen kullanırdı id_rsa.pub.bak.pub.
nlu

@nlu - Notepad ftp explorer kullanarak dosyayı sürükleyip bırakarak kopyaladığım id_rsa var. Ayrıca nano ile oluşturduğum ve notepad ++ 'dan fare ile içerik yapıştırdığım id_rsa.bak' a sahip ancak aynı metni ancak 2 sütun olarak yazdığı görünüyordu. Ayrıca nano ile yapılan id_rsa.pub.bak da var. Aslında 3 satır var, ancak orijinalin hepsi bir satırda. Bilmiyorum önemli. Ama gördüğümüz gibi, dosya isimleri hakkında hata mesajı almadım.
Darius.V

1
Öyle. Örnek için buraya bakınız: snailbook.com/faq/publickey-userauth.auto.html ("Bir metin editörü kullanıyorsanız, bu dosyadaki satırları kırmamasına dikkat edin.").
nlu

Soru kapalı, çünkü iş ortamında sistem olmadığını düşünüyor, ama ben iş ortamı sorununu çözüyordum.
Darius.V

Yanıtlar:


25

Anahtarınızı kopyalamak için giriş yapmanız gerekiyor, uzaktaki makineye erişiminiz yok (geçersiz anahtar ve şifre doğrulaması devre dışı):

/ Etc / ssh / sshd_config dosyasında passwd kimlik doğrulamasını tekrar etkinleştirin:

PasswordAuthentication yes

Ardından hizmeti yeniden başlatın:

service sshd restart

Genel anahtarınızı kopyalayın:

ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST -p PORT
[Enter user password]

Tekrar giriş yapmayı deneyin, şifre gerekmez.

Ardından parola doğrulamasını devre dışı bırakın.


Oturum açmak istediğim sunucuda PasswordAuth'u evet olarak ayarladıysam ve şifre kullanarak macunla bağlantı kurabilirsem, ancak ssh-copy-id hala parola sormuyor ve sadece İzin reddedildi (publickey) yazıyor. ?
Darius.V

hey teşekkür etmek istiyorum !!! günümü kurtardın !!! çok teşekkürler!!!
1917

@Nabil sayesinde, bu Ubuntu 18.04'ten itibaren de geçerli. Gelecekteki okuyucular için sadece bir uyarı: Düzenlemeye göre / etc / ssh / sshd_config ve NOT ssh_config de (gözetimde olduğu gibi) düzenleyin. Ayrıca, ssh-copy-id USER @ HOST açık bir şekilde yeterlidir.
Snidhi Sofpro

12

Permission denied (publickey) uzak SSH sunucusudur "diyerek genel anahtarları yalnızca bir kimlik doğrulama yöntemi olarak kabul ediyorum, gidin".

Asıl mesele bu: Uzak sisteme girmek. Bunu yaptıktan sonra anahtarınızı yükleyebilirsiniz:

  • Kullanılması ssh-copy-id- örneğin, eskisini değiştirme sürecinde iseniz bu size farklı bir anahtar belirtmek için izin verecektir.
  • ~/.ssh/authorized_keysAnahtarınızı manuel olarak eklemek için uzaktaki kullanıcıyı düzenleyin.

5

Sonunda problemi buldum.

Aslında ortak anahtarı kopyalamama gerek yoktu. Aynı ortak anahtar her iki özel anahtar için de geçerlidir - parola ile ve parola olmadan. Parola olmadan özel bir anahtarım olduğunu sanıyordum ama aslında yapmadım. Ben sadece parola olmadan .ppk vardı. Bu iletişim özledim. Böylece iş arkadaşı parola olmadan özel anahtar yaptı ve şimdi ssh kullanarak parola kullanmadan giriş yapabilirim. Şifre olmadan sahip olmanın kötü olduğunu okudum ama iş arkadaşı bunun yolunda olduğunu söylüyor. Parola olmadan ihtiyacım vardı çünkü önyüklemede kabuk komut dosyasını çalıştırmam gerekiyor - bilgisayar yeniden başlatıldığında autossh başlatmak istiyorum.

Öyleyse bu sefer bir çözüm - parola olmadan giriş yapmak istiyorsanız - özel anahtarınızın gerçekten parola olmadan olup olmadığını kontrol edin.

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.