Cennet Teması Lisans doğrulanmadı, Lisansı doğrulamak için tema seçenekleri sayfasına gidin, Her alan adı için tek bir lisansa ihtiyacınız var.

Linux'ta parolasız SSH oturumları nasıl etkinleştirilir?

SSH sunucunuza şifresiz giriş yapmak harika bir fikir. Cidden, ondan kurtul. Linux sunucularında en çok saldırıya uğrayan servislerden birinde şifre kullanmaya gerek yok değil mi? Hazırlamak SSH sunucusunun güvenliğini sağlama Standart parola tabanlı kimlik doğrulama kullanmak kötü bir fikirdir. Parolalar saldırganlar tarafından kolayca kırılabilir ve kötü oyuncu ile sunucunuz arasında duran tek şey bunlar olduğunda, kesinlikle gergin hissetmelisiniz. Bu nedenle RSA anahtar tabanlı kimlik doğrulaması çok daha iyidir. Linux sunucunuzu yalnızca önceden kabul edilmiş RSA anahtarlarına sahip bilgisayarlardan erişime izin verecek şekilde yapılandırabilir ve güvenliğini sağlayabilirsiniz. Diğer herkes hemen reddedilecek. Ek bir bonus olarak, bu anahtarları şifreli veya şifresiz olarak oluşturabilirsiniz, tamamen size kalmış. Buna rağmen, çoğu durumda şifresiz güçlü bir anahtar iyi bir şeydir. Bu kılavuzda, Linux'ta parolasız SSH oturumlarının nasıl etkinleştirileceğini öğreneceğiz.

ssh-passwordless-linux-00-featured-image-800x400.jpg Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Evde Linux makinelerini de kullanıyorsanız, ek kolaylık avantajına sahip olursunuz. Diyelim ki Linux iş istasyonunuzdan dizüstü bilgisayarınıza SSH X iletmeyi ayarlamak istiyorsunuz. Uzak bir programı her başlattığınızda gerçekten şifrenizi girmek istiyor musunuz? SSH anahtarlarını ayarlayın, gerek kalmayacak.

paketleri kurun

İhtiyacınız olan bazı paketler var. Muhtemelen zaten biraz var, ama onlara göz atmak iyi bir fikir. Paketler hem sunucuda hem de istemcide aynıdır. Ancak, her iki makinenin de birbirlerinin sunucuları ve istemcileri (ana durum) olma olasılığı yüksektir, bu nedenle bu paketlerin kurulu olduğundan emin olmak isteyebilirsiniz.

OpenSSH meta paketi varsayılan olarak diğer sistemlere yüklenmez Debian أو Ubuntu. Henüz yüklemediyseniz, bunu aşağıdaki komutu çalıştırarak yapabilirsiniz:

sudo uygun kurulum ssh

ssh-passwordless-linux-02-installing-openssh.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Linux'ta kendi SSH anahtarınızı oluşturun

gerçekten kolay Bir SSH anahtarı oluşturun Linux'ta. Sadece OpenSSH'ye anahtarı oluşturmanız gerektiğini söyleyin. -b bayrağıyla bit miktarını ve -t ile türü belirtmek de iyi bir fikirdir. Daha güçlü şifreleme sağladığı için 4096 bitlik bir anahtar en iyisidir.

SSH -Keygen -T ED25519

İlk olarak, araç, anahtarı nerede saklamak istediğinizi soracaktır. sadece tıklayın Keşfet varsayılan dizine. Parola istediğinde, parolasız anahtar ve parolasız kimlik doğrulama için boş bırakın. Anahtarınız için bir şifre kullanmak istiyorsanız, buraya girin.

Ayrıca okuyun:  Linux dosyası zaman damgalarının açıklaması: atime, mtime ve ctime

Bilgisayarınızın anahtarınızı oluşturması birkaç saniye sürecektir. İşiniz bittiğinde, cihaz anahtarınızın bir ASCII resmi temsilini yazdıracaktır.

Anahtarınızı uzak Linux ana bilgisayarına gönderin

Anahtarınızı kullanmak için uzak sunucunuza göndermeniz gerekir. OpenSSH'nin bunun için başka bir yerleşik aracı da vardır. Anahtarınızın nerede olduğunu ve onu sunucuda hangi kullanıcıyla ilişkilendireceğinizi söyleyin.

ssh-kopya kimliği -i ~/.ssh/id_ed25519.pub username@ip_remote_host

değiştirmek ip_remote_host SSH ile yöneteceğiniz uzak ana bilgisayarın gerçek IP adresi ile. kullanıcı adını uzak ana bilgisayardaki gerçek kullanıcı adıyla değiştirin.

ssh-passwordless-linux-04-ssh-copy-id.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Genel anahtarınızı içeren kimlik dosyasını belirtmek için -i seçeneğini kullanmanız gereklidir. Bu seçenek olmadan bir SSH anahtarı kullanmayı denerseniz hata alabilirsiniz.

ssh-passwordless-linux-05-successful-copy.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

SSH bağlantınızı Linux'ta test edin

Uzak sunucudaki SSH anahtarı ile artık bağlantınızın düzgün çalışıp çalışmadığını test edebilirsiniz.

Aşağıdaki komutla oturum açın:

ssh kullanıcıadı@ip_remote_host

Uzak ana bilgisayar, kullanıcı hesabı parolasını sormadan oturumunuzu açacaktır.

ssh-passwordless-linux-06-passwordless-login.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Ancak, işlem sırasında bir hata yaparsanız, SSH arka plan programı, kullanıcı hesabınız için otomatik olarak parola doğrulamaya geri dönecektir. Bu, çalışmayan bir RSA anahtarınız olsa bile uzak sunucunuza erişmeye devam etmenizi sağlar.

Ayrıca okuyun:  Çocuklarımın ilk bilgisayarı için en iyi ortam olarak Linux'u seçtim

ssh-passwordless-linux-07-failed-login.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Parolaları engellemek için SSH'yi yapılandırın

En iyi koruma için, Linux sunucunuzda SSH şifresiyle oturum açmayı devre dışı bırakmanız gerekir. SSH'de iki faktörlü kimlik doğrulamayı etkinleştirmeye benzer şekilde bu, birisinin zorla sunucunuza girmesini önler.

ssh-passwordless-linux-08-two-factor-sample.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Bunu yapmadan önce SSH anahtarınızla güvenilir bir şekilde oturum açabildiğinizden emin olmanız önemlidir, çünkü bozuk bir anahtarınız varsa kendinizi uzak sunucuya kilitleyebilirsiniz.

Bir yapılandırma dosyası bulabilirsiniz SSH cini dosyanız “/etc/ssh /sshd_config". Dosyayı sunucuda sudo ve favori metin düzenleyicinizle açın. Örneğin, aşağıdaki komutu çalıştırarak bu dosyayı nano ile açın:

sudo nano / etc / ssh / sshd_config

Aşağıdaki satırları tıklayarak bulun Ctrl + W ve örneğe benzeyecek şekilde düzenleyin. Her iki girişi de yorumlayın ve değerleri şu şekilde değiştirin: hayır.

Parola

PasswordAuthentication hayır PermitEmptyPasswords hayır

ssh-passwordless-linux-09-find-option-nano.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Ayarlamak Şifre Kimlik Doğrulaması Parola kimlik doğrulamasının kullanılıp kullanılmayacağı. Bunu ayarladık "hayır" Çünkü sadece SSH anahtarlarını kullanmak istiyoruz.

belirler İzin BoşŞifreler Sunucunun boş bir parola ile oturum açmaya izin verip vermediği. Buna asla izin vermemelisiniz, biz de "hayır".

ssh-passwordless-linux-10-update-sshd-settings.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Ardından, "UsePAM" satırını bulun ve "Hayır" olarak değiştirin. Bu, arka plan programının SSH anahtarları dışında herhangi bir kimlik doğrulama yöntemi (şifre, Kerberos vb.) kullanmasını engelleyecektir.

PAM no kullan

ssh-passwordless-linux-11-disable-pam-support.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Dosyayı tıklayarak kaydedin Ctrl + O Sonra Ctrl + X ve yeniden yükle SSH sunucusu.

sudo systemctl ssh'yi yeniden başlat

Artık sunucunuzu, kimlik doğrulama için yalnızca SSH anahtarlarını kullanacak şekilde başarıyla yapılandırdığınıza göre, geçerli bir RSA anahtarı olmadan oturum açmaya çalışan herkes hemen reddedilecektir.

ssh-passwordless-linux-12-no-key-login.png Linux'ta Parolasız SSH Oturum Açma Nasıl Etkinleştirilir

Sık sorulan sorular

S 1. Linux sunucuma bir SSH anahtarı gönderdiğimde "bağlantı reddedildi" mesajı alıyorum. Bu sorunu nasıl çözebilirim?
Cevap. SSH sunucusunun uzak ana bilgisayarda çalıştığından emin olun. Bunu sudo systemctl status ssh çalıştırarak kontrol edebilirsiniz. Hizmet çalışmıyorsa, şu komutla başlatabilirsiniz: sudo systemctl start ssh.

Ayrıca okuyun:  Yeni Başlayanlar İçin 10 Temel Linux Komutu

Sunucuda güvenlik duvarı çalışıyorsa port 22'nin açık olduğundan emin olunuz bunu sudo ufw state çalıştırarak yapabilirsiniz. SSH listelenmemişse, şu komutu çalıştırarak etkinleştirebilirsiniz: sudo ufw allow ssh.

S2.Giriş yapmaya çalıştığımda "İzin reddedildi (ortak anahtar)" hatası alıyorum. ne yaparım?
Cevap. Bu hata, sunucunuzu kimlik doğrulama için anahtarları kullanacak şekilde yapılandırdığınız, ancak yine de bir parola ile oturum açmaya çalıştığınız anlamına gelir. Bunun nedeni eksik bir RSA anahtarı veya yanlış bir SSH kurulumu olabilir. Ortak anahtarınızın sunucuya doğru şekilde kopyalandığından ve bağlanırken doğru ortak anahtarı belirttiğinizden emin olun.

S 3. Bağlanmaya çalıştığımda "Ana bilgisayar anahtarı doğrulaması başarısız oldu" hatası alıyorum. Bu sorunu nasıl çözebilirim?
Cevap. Bu hata, SSH sunucusu ana bilgisayar anahtarının değiştiği anlamına gelir. Bu, sunucu yeniden yüklendiyse olabilir. Yeni bir genel anahtarı yeniden oluşturabilir ve bunu uzak ana bilgisayara kopyalayabilirsiniz. Yeniden oluşturmak ve yeni anahtarı sunucuya eklemek için bu makaledeki adımları tekrarlayın.

S4.Aynı uzak Linux sunucusunda birden fazla SSH anahtarı kullanmak mümkün müdür?
Cevap. evet. Uzak bir sunucuya bağlanmak için tam olarak kullanmak istediğiniz anahtarı belirtmek için OpenSSH'deki -f seçeneğini kullanabilirsiniz. Örneğin, çalıştır

 ssh -f ~/.ssh/id_rsa_2 username@remote_ip_address

Bu, sizi varsayılan "id_rsa" yerine "id_rsa_2" anahtarını kullanarak uzak sunucunuza bağlayacaktır.

Ancak, bu komutun yalnızca uzak sunucu yeni anahtarınızı zaten biliyorsa çalışacağını unutmamak önemlidir. Öncelikle ssh-copy-id kullanarak uzak sunucunuza kopyalamanız gerekir. Yukarıdaki adımlara benzer şekilde, bunu parola veya RSA anahtarı kimlik doğrulaması yoluyla yapabilirsiniz.

S 5. SSH anahtarımı sunucuma kopyalamaya çalıştığımda İzin Reddedildi hatası alıyorum.
Cevap. Bu sorun büyük olasılıkla uzak sunucunuzdaki bir izin sorunundan kaynaklanmaktadır. Çoğu durumda, ssh-copy-id yardımcı programı, uzak sunucunuza bağlandıktan sonra tüm erişim sorunlarını uygun şekilde çözmelidir. Ancak, bu özelliğin takıldığı ve “id_rsa”yı yerel makinenize düzgün bir şekilde kopyalayamadığı durumlar vardır.

Bunu düzeltmek için uzak sunucuda oturum açın ve çalıştırın

 chmod 700 /home/$USER/.ssh/* && chmod 600 /home/$USER/.ssh.

Bu, hem “.ssh” klasörü hem de içeriği için doğru izin bitlerini ayarlayacaktır.

Üst düğmeye git