Dropbear anahtar-temelli kullanıcı doğrularma

  • Elverişlilik için Dropbear için anahtar-temeli doğrulamayı etkinleştirmek
  • Parola doğrulamasını devredışı bırakarak güvenliği geliştirmek

İstemci makinanızda OpenWrt SSH sunucusuna bağlanmak için kullanmaya istekli olduğunuz bir açık / özel anahtar çifti varsa bunu atlayın.

ssh-keygen aracı doğrulama için kullanılacak bir anahtar çifti yaratmak için kullanılabilir. Bu aracı kullandıktan sonra iki dosyanız olacak, varsayılan olarak ~/.ssh/id_<anahtartipi> (özel anahtar) ve ~/.ssh/id_<anahtartipi.pub (açık anahtar). Her zaman özel anahtarınızı (örneğin ~/.ssh/id_<anahtartipi>) gizli ve güvenli tutun.

# Yeni bir anahtar çifti oluştur, varsayılan 3072-bit RSA
ssh-keygen
# Yeni bir Ed25519 anahtar çifti oluştur
ssh-keygen -t ed25519

OpenWRT cihazdan SSH yapmak istiyorsanız, Dropbear OpenSSH'tan farklı anahtar biçimine gereksinir, yani farklı bir program kullanılır:

dropbearkey -f ~/.ssh/id_dropbear -t rsa -s 2048

Dropbear varsayılan olarak ~/.ssh/id_dropbear dosyasını okuduğundan, özel anahtarın bu dosya olması bir SSH yapılandırma dosyası oluşturmaktan sakınmayı sağlar.

Şifreleme ile ilgili varsayılanlara güvenle dayanmak için yazılımınızı güvende tutun.

Tablet/masaüstü uçbirim programı genel anahtar edindiğinde, cihaza her SSH attığınızda parola girmeyi bırakabilirsin. (Bu güvenli: sadece uygun özel anahtara sahip uçbirim parolasız giriş yapabilir.) İlkin, açık ve özel anahtarları yarat (yukarıda anlatıldı). Ardından AÇIK anahtarını (genelde id_rsa.pub olarak adlandırılır - dosya adı MUTLAKA “.pub” ile bitmeli) karşı cihaza ekle.

Bunu LuCI ile yapmak için:

  1. Üst menüde LuCI → System → Administration → SSH-Keys'e yol al
  2. Açık anahtar dosyasının içeriğini kopyala. ssh-rsa … ile başlayan ve … bir-ad@bir-makine.lan ile biten uzun bir dizi olacak
  3. Diziyi Paste or drag key file… veya Yapıştır veya dosya sürükle… bölgesine yapıştır
  4. Anahtar ekle düğmesine tıkla
  5. Deneme için: uçbirim programında yeni bir pencere aç ve ssh root@yönlendiricinin-adresi gir. RSA anahtarın için parola belirlemediysen parola girmeden, belirlediysen o parolayı girip anahtarını kullanılabilir kılarak giriş yapmış olmalısın.

Açık anahtarını (genellikle ~/.ssh/id_rsa.pub dosyası) oku ve /etc/dropbear/authorized_keys'e ekle.

Örnek:

ssh root@192.168.1.1 "tee -a /etc/dropbear/authorized_keys" < ~/.ssh/id_rsa.pub

Açık anahtarını yönlendiriciye ssh-copy-id aracını kullanarak ekle.

ssh-copy-id root@openwrt.lan

Gerekirse yeni genel ve özel anahtarları yarat.

RSA anahtarınla giriş yapabildiğini doğrulamak için, komut satırı arayüzünden, parola doğrulamasını geçici olarak servis dışı bırakarak ssh ile yönlendiricine giriş yap:

ssh -o PasswordAuthentication=no root@openwrt.lan

Bu sınamayı tamamlayana kadar, OpenWrt SSH sunucusunda parola doğrulamasını devre dışı bırakmak, kendini dışarı kilitleyebileceğinden, akılsızca olacaktır.

Takip eden enformasyonu topla ve analiz et.

# Servisleri yeniden başlat
/etc/init.d/log restart; /etc/init.d/dropbear restart
 
# Günce ve durum
logread -e dropbear; netstat -l -n -p | grep -e dropbear
 
# Çalışma zamanı yapılandırması
pgrep -f -a dropbear
 
# Kalıcı yapılandırma
uci show dropbear; ls -l /etc/dropbear; cat /etc/dropbear/authorized_keys

Ek olarak ssh istemcini en yüksek açıklayıcılıkla çalıştır (ssh -vvv) ve çıktıyı kontrol et. Şunun gibi bir şey görürsen

send_pubkey_test: no mutual signature algorithm

ssh istemcini -o PubkeyAcceptedKeyTypes=ssh-rsa seçeneğiyle çalıştırmayı deneyebilirsin. Bu ayarı .ssh/config dosyasında yönlendiricine adanmış bir girdiye kaydedebilirsin.

Bu ssh ile bu cihazdan başka bir cihaza, açık anahtar doğrulama yöntemi ile bağlanacaksan işlevseldir.

dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key

Ve örnek bir cevap

Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAdrgdftergdsfgdfgdfgdfgdfgdfgdfgJOYPF6nc41DUWDQdRrv8Ihe/zINq5CaFOsysL3LNOg90C9uDYRIp89nq9ydUIrwvjz9r8U/7HFOkLX6YQUevUZHxEyUexhWRSBLbnoQSKLHlB5WhodghdfgdfgdfgdfgdfgdfgfdgdfgfdgdfasdaaedadfasEUxiDTj74l0dqLpCCM1r9BcQd12hvQwfHvbMAcY/7l3Wb5fdAvXI5mMIXXzWPkLhSLHP1Hw1trEmuUeL2rie+WzSjaOGMzVDjOpEaZD0dT7Ib9yDwem8UDMPFuXnNmsUvpxNHakWbw+465uxlyeAzL root@VM-router
Fingerprint: sha1!! ec:66:c1:57:92:c1:ec:66:c1:57:92:c1:c7:9e:71:50:25:65:61:53:dd

“Public key portion”'ı kopyalayıp diğer cihazın kabul edilen anahtarlar'ına yapştırırsın

Doğrulama anahtarlarını etkin kök-olmayan kullanıcı için ekle.

ssh openwrt.lan "mkdir -p ~/.ssh; tee -a ~/.ssh/authorized_keys" < ~/.ssh/id_ed25519.pub

Parola doğrulamasını devre dışı bırakarak güvenliği sağlamlaştır.

uci set dropbear.@dropbear[0].PasswordAuth="0"
uci set dropbear.@dropbear[0].RootPasswordAuth="0"
uci commit dropbear
/etc/init.d/dropbear restart

Uygun izinleri ayarla.

chmod -R u=rwX,go= /etc/dropbear
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2022/04/25 23:08
  • by sorcun