Keenetic Komut Satırına SSH ile Uzaktan Erişim
SSH (Secure Shell) sunucusu, Router komut satırına güvenli bir şekilde bağlanmanızı sağlar. Şimdi, bir cihazın komut satırı arayüzüne (CLI) SSHv2 protokolü aracılığıyla uzaktan bağlantı için nasıl yapılandırılacağını göreceğiz.
SSH sunucusunu çalıştırmak için SSH sunucusu sistem bileşeninin Keenetic cihazına kurulması gerekir. Bunu, Genel Sistem Ayarları sayfasında, KeeneticOS Güncelleme ve Bileşen Seçenekleri bölümünde yer alan Bileşen seçenekleri seçeneğine tıklayarak yapabilirsiniz.

Bileşen yüklendikten sonra SSH sunucusu otomatik olarak açılır. Yerel arayüzlerde özel güvenlik seviyesi ile erişilebilir. Güvenlik seviyesini (güvenlik duvarı mantığı) belirleyen erişim seviyeleri hakkında bilgi için Komut satırı arayüzünden güvenlik duvarı kurallarını yapılandırma makalesine bakın.
Harici ağlardan erişime izin vermek için SSH sunucusunun genel bir güvenlik seviyesine sahip olması gerekir. Router komut satırı arayüzünde aşağıdaki komutları çalıştırın:
(config)>ip sshCore::Configurator: Done. (config-ssh)>security-level publicSsh::Manager: Security level changed to public.
İstenmeyen bot saldırılarını, rastgele Siyah/Gri Şapkalı bilgisayar korsanlarının saldırı girişimlerini önlemek ve standart bağlantı noktasının OPKG alt sisteminde zaten SSH sunucusunu çalıştırdığı durumlarda, sunucunun standart bağlantı noktasının değiştirilmesi önerilir. Sunucunun çalıştığı varsayılan bağlantı noktası, standart 22 numaralı bağlantı noktasıdır. Bunu kullanılmayan numaralardan biriyle (örneğin, 2022) değiştirebilirsiniz:
(config-ssh)> port 2022
Ssh::Manager: Port changed to 2022.Artık Keenetic komut satırına erişimi olan kullanıcılar, bir SSH istemcisinden cihazın harici IP adresine 2022 numaralı bağlantı noktasından ulaşabilecek ve güvenli, şifrelenmiş bir kanal üzerinden komut satırına erişim sağlayabilecekler.
Ayarı kaydetmek için şu komutu yürütmeniz gerekir:
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...SSH Sunucusuna Bağlanma
Keenetic cihazınıza SSH protokolü aracılığıyla bağlanmak için bu bağlantı türünü destekleyen herhangi bir terminal programını kullanabilirsiniz. Örneğin, ücretsiz bir istemci olan PuTTY.
Bilgisayarınıza PuTTY terminal istemcisini indirin, kurun ve başlatın. Bağlantı Türü alanında bağlantı türünü SSH olarak belirtin. Ana Bilgisayar Adı veya IP Adresi alanına cihazın ağ adını veya IP adresini (ev ağından bağlanırken yerel IP veya İnternet'ten bağlanırken genel WAN IP) ve Port alanına bağlantının kurulacağı bağlantı noktası numarasını girin (varsayılan olarak SSH protokolü 22 numaralı bağlantı noktasını kullanır, örneğimizde 2022 numaralı bağlantı noktası kullanılmıştır).

Aç düğmesine tıkladıktan sonra, cihazda kimlik doğrulaması için sizden kullanıcı adı ve şifre istenecektir. Yönetici hesabı kimlik bilgilerini girin. Yönetici kullanıcı adı ve şifresini başarıyla girdikten sonra Router komut satırı görünecektir.

Linux'tan bir SSH bağlantısı kurmak da kolaydır. Örneğin, admin kullanıcı adıyla bir SSH istemcisi bağlamak için şu komutu kullanmalısınız:
[alexander@silverado ~]$ ssh admin@192.168.1.1 -p 2022
Warning: Permanently added '[192.168.1.1]:2022' (ECDSA) to the list of known hosts.
admin@192.168.1.1's password:
X11 forwarding request failed on channel 0
(config)>Anahtarlarınızın güvenliği ihlal edilirse SSH sunucusu yeni anahtarlar oluşturabilir. Bu prosedür, sistem bileşenini kurduğunuzda otomatik olarak gerçekleşir, ancak ip ssh keygen {keygen} komutuyla da başlatılabilir. Burada {keygen} yerine gerekli algoritmayı, örneğin default komutunu belirtmelisiniz.
(config-ssh)> keygen default
Ssh::Manager: Key generation is in progress...
progress, name = SSH key generation: 0
....
progress, name = SSH key generation: 50
progress, name = SSH key generation: 100Sunucudaki anahtarları değiştirdiyseniz, bunları otomatik olarak hatırlayan istemcide temizlemeniz gerekir. Linux'ta bunu yapmak için ssh-keygen uygulamasını -R anahtarıyla kullanabilirsiniz (-r anahtarı kaydedilen anahtar karma değerlerini ekrana yazdırmak için kullanıldığından büyük/küçük harf duyarlıdır):
[alexander@silverado ~]$ ssh-keygen -R '[192.168.1.1]:2022'
# Host [192.168.1.1]:2022 found: line 1
/home/alexander/.ssh/known_hosts updated.
Original contents retained as /home/alexander/.ssh/known_hosts.oldNot
KeeneticOS 2,11 sürümünden başlayarak, komut satırı aracılığıyla yapılan korumasız telnet router yönetimi oturumları, 3 dakikalık kullanıcı hareketsizliğinden sonra otomatik olarak sonlandırılır. Bu zaman aşımı değeri kontrol edilebilir, ancak oturum için sonsuz bir süre ayarlamak imkansızdır.
SSH bağlantı oturumu için varsayılan zaman aşımı 300 saniye (5 dakika) olarak ayarlanmıştır. Gerekirse bu değer artırılabilir. Bu parametre, 232-1 saniyeye kadar (bu değer dahil) ayarlanabilir.