ssh bağlantısı için root @ localhost için izin verilmedi


28

Bunun üzerine Ubuntu 14.04 ve LAMP'i yükledim. Sonra, çok denedik, benim sunucu yapılandırmak istedim Bu öğretici.

Komutu verdiğimde:

ssh root@localhost

Anladım: İzin reddedildi, lütfen tekrar deneyin. Bu komut aracılığıyla root kullanıcısı olarak giriş yaptım:

sudo -i

Aynı zamanda, şunu kullanarak da giriş yaptım:

sudo -s

Kullanıcı olarak oturum açmak için kullandığım şifreyle aynı şifreyi kullanıyorum ancak yine de aynı hata mesajını alıyorum.

Biri bana yardım edebilir mi?

Not: Bu soruya baktım ama benim için işe yaramadı.

Yanıtlar:


57

Varsayılan olarak, SSH sunucusu root için parola tabanlı giriş yapmayı reddeder. İçinde /etc/ssh/sshd_config, değiştir:

PermitRootLogin without-password

için

PermitRootLogin yes

Ve SSH'yi yeniden başlatın:

sudo service ssh restart

Veya, SSH anahtarlarını kullanabilirsiniz. Eğer bir tane yoksa, kullanarak bir tane oluşturun ssh-keygen(anahtar için varsayılana uyun ve istediğiniz gibi şifreyi atlayın). Sonra yapın sudo -s(ya da tercih ettiğiniz kök olma yöntemi ne olursa olsun) ve bir SSH anahtarı ekleyin /root/.ssh/authorized_keys:

cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Bu hatayı alıyorum: cat: /home/user/.ssh/id_rsa.pub: Böyle bir dosya veya dizin yok.
vnay92

Ah. Üzgünüm. Bir SSH anahtarın olduğunu varsaydım. Kullanıcınız olarak, bir tane oluşturmak için yapın ssh-keygen(isterseniz SSH anahtarının şifresini atlayın ve diğerlerinin varsayılanlarına uyun). Ayrıca, umarım usergerçek kullanıcı adınla değiştirmişsindir .
muru

Her iki yöntem de benim için işe yaramadı! Ev klasörümü bile kontrol ettim; bu boş. Ne yapmalıyım?
Heich-B,

5

Bazı durumlarda, değişiklikten sonra,

PermitRootLogin yes

Bu yapılandırmayı kontrol etmelisiniz:

DenyUsers root
AllowUsers saeid

ve oturum açmayı etkinleştirmek için:

#DenyUsers root
AllowUsers root OtherUser

4

Eğer root için şifre vermediyseniz ve böyle bir kıvılcım veya haddop'a emir vermeye çalışıyorsanız ./sbin/stop-all.sh or./sbin/start-all.sh . Kök şifreniz yoksa,

sudo passwd

ve ateş komutları.


1

Ben de buna benzer bir problem yaşadım. Ben gerekli iki PC , Arch üzerinde Ubuntu üzerinde ve diğeri Unison aracılığıyla senkronizasyon dosyalarına ancak aynı izni içine koştu hatası yalanladı. Sadece benimle aynı problemi yaşayanların iyiliği için, yaptığım şey şu:

İlk önce: Her iki bilgisayara da aynı Unison sürümünü yükledim. Yazılım merkezinde mevcut olanı Arch için hazır bulunanların arkasında olduğu için bu biraz zordu. Bu yüzden, Ubuntu için daha yüksek bir sürüm bulamadım, bu yüzden onun yerine Arch'daki birini daha düşük bir sürümle değiştirdim. Burada bir tane buldum: http://zdia.de/downloads/unison-2.40.102-linux-x86_64 . Aynı sürüm Ubuntu'nun yazılım merkezindedir.

İkincisi: Buradan adımları takip edin: https://www.howtoforge.com/setting-up-unison-file-synchronization-between-two-servers-on-debian-squeeze (Not: Arch benim sunucumdu 1 ve Ubuntu oldu sunucum 2.)

Ssh-kopyalamaya çalıştığım gibi 3. adımda bir sorunla karşılaştım. Ancak "ssh-copy-id -i $ HOME / .ssh / id_dsa.pub root@192.168.0.101" satırında "id_dsa.pub" ifadesini "id_rsa.pub" olarak değiştirerek çözüldü. Muhtemelen benim hatam, sanırım "-t dsa" eklemeyi unuttum. Neyse, önce orijinal komutu dene. Eğer bir hata alırsanız, o zaman rsa için değiştirin.

Yukarıdaki adımları uyguladıktan sonra, Unison'ı diğer sunucuya bağlamak için hala Unison'ı alamadığımı öğrendim, ne de (Unison olmadan) ssh üzerinden diğer sunucuya giriş yapamıyorum. Sonunda, saatlerce google aramanın ardından bu sayfaya yönlendirildim ve Muru'ma verilen cevap anlaşmayı imzaladı.

Uyguladıktan sonra, şimdi SSH üzerinden sunucu 2'ye giriş yapabilirim.

Böylece Unison'ı çalıştırdım, profil ayarlarını düzelttim ve viola!

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.