bash: /home/user/.ssh/authorized_keys: Böyle bir dosya veya dizin yok


11

Bir ssh anahtarı oluşturun:

$ ssh-keygen -t rsa P ""

Anahtarı yetkili anahtara taşıma:

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

bash: /home/user/.ssh/authorized_keys: No such file or directory

Aynı soru, anahtarı neden kendi sunucunuza eklemeniz gerekiyor?
Braiam

@Braiam Bunu ev dizinim ağ sürücüsünde yaptım. Bu, bu sürücüyü monte eden herhangi bir makineye ssh vermemi sağladı. Bu yüzden kendi ev sahibime sshing değildim.
FDinoff

Yanıtlar:


13
bash: /home/user/.ssh/authorized_keys: No such file or directory

Yolun bir öğesi /home/user/.ssh/mevcut değil; shell ( bash) >>komutu ( cat) komutunu çalıştırmadan önce yeniden yönlendirmeyi ( ) kontrol eder . Varsa /home/userve bunu denerseniz:

cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this

Şimdi alacaksınız:

cat: /home/user/.ssh/id_rsa.pub: No such file or directory

Bu dosya o yerde olamayacağından, eğer /home/user/.ssh/başlamak için mevcut değilse.

Bazı bitleri atlamış olabileceğiniz bazı talimatları izliyorsunuz. Dizini oluşturmak için:

mkdir $HOME/.ssh
chmod 700 $HOME/.ssh

Ancak, id_rsa.puborada olmayacak. ssh-keygenKomutu ilk etapta çalıştırdığınız her yerde olacaktır .


6

Önce ssh anahtarını oluşturmak istediğiniz kullanıcı olarak oturum açtığınızdan emin olun (veya komuttaki yolları doğru giriş dizinine değiştirmeye hazır olun).

Ardından dizini oluşturun:

mkdir ~/.ssh

catYukarıda listelediğiniz komutu kullanarak dosyayı oluşturun . Ardından izinleri doğru ayarlamayı unutmayın:

chmod 400 ~/.ssh/authorized_keys

.Ssh dizininin de uygun izinlere sahip olduğundan emin olmak isteyebilirsiniz.


1
Son yorumunuzun da belirttiği gibi, evet, bulmanız gerekiyorchmod 700 ~/.ssh
KCD

6

Mümkünse insanları her zaman komut satırı aracını kullanmaya teşvik ederim ssh-copy-id.

$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine

Varsayılan SSH genel anahtarınızı uzak sunucuya kopyalamak istiyorsanız, aşağıdaki komutu çalıştırmanız yeterlidir:

$ ssh-copy-id user@remoteserver

Bu aracın şu soru ve cevaplarda nasıl kullanılacağına dair gerçek bir tam örnek gösteriliyor: Bir ssh bağlantısı rsync ile paylaşılamıyor .


0

Bu, anahtarı oluştururken ssh-keygenbir dosya adı verirseniz de başarısız olabilir . Bir isim girdim my-ssh-file-nameve anahtar /Users/MyUserNameyerine .sshklasör yazdı . Dosya adını boş bırakırsanız, .sshbeklendiği gibi yazılır .


veya elbette özel anahtarı doğrudan .ssh klasörüne yazmayı belirtebilirsiniz:-f ~/.ssh/custom-key-name
parlamento
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.