Самый безопасный SSH по сертификатам. Настройка SSH сервера.
İçindekiler:
- OpenSSH İstemcisini Yükleme
- Linux'ta OpenSSH İstemcisi Yükleme
- Ubuntu ve Debian Üzerinde OpenSSH Kurulumu
- CentOS ve Fedora'ya OpenSSH Kurulumu
- Windows 10'da OpenSSH İstemcisi Yükleme
- MacOS'ta OpenSSH İstemcisi Yükleme
sshKomutunun Kullanımı- SSH Yapılandırma Dosyası
- Liman Yönlendirme
- Yerel Bağlantı Noktası İletme
- Uzak Port Yönlendirme
- Dinamik Bağlantı Noktası Yönlendirme
- Sonuç
Güvenli Kabuk (SSH), istemci ile sunucu arasında şifreli bir bağlantı için kullanılan bir şifreleme ağı protokolüdür. Ssh istemcisi, uzak makinedeki SSH sunucusuna güvenli bir bağlantı oluşturur. Şifreli bağlantı, sunucudaki komutları, X11 tünellemesini, bağlantı noktası iletmeyi ve daha fazlasını yürütmek için kullanılabilir.
Hem ücretsiz hem de ticari olarak kullanılabilen bir dizi SSH istemcisi vardır, OpenSSH en yaygın kullanılan istemcidir. Linux, OpenBSD, Windows, macOS ve diğerleri dahil olmak üzere tüm büyük platformlarda kullanılabilir.
, uzaktaki bir makinede oturum açmak ve komutları çalıştırmak veya diğer işlemleri gerçekleştirmek için OpenSSH komut satırı istemcisinin (
ssh
) nasıl kullanılacağını açıklayacağız.
OpenSSH İstemcisini Yükleme
OpenSSH istemci programı
ssh
olarak adlandırılır ve terminalden çağrılabilir. OpenSSH istemci paketi,
ssh
komutunun yanında yüklü olan
scp
ve
sftp
gibi diğer SSH yardımcı programlarını da sağlar.
Linux'ta OpenSSH İstemcisi Yükleme
OpenSSH istemcisi varsayılan olarak çoğu Linux dağıtımına önceden yüklenmiştir. Sisteminizde ssh istemcisi yüklü değilse, dağıtımınızın paket yöneticisini kullanarak yükleyebilirsiniz.
Ubuntu ve Debian Üzerinde OpenSSH Kurulumu
sudo apt update
sudo apt install openssh-client
CentOS ve Fedora'ya OpenSSH Kurulumu
sudo dnf install openssh-clients
Windows 10'da OpenSSH İstemcisi Yükleme
Çoğu Windows kullanıcısı SSH üzerinden uzak bir makineye bağlanmak için Putty kullanıyor. Ancak, Windows 10'un en son sürümlerinde bir OpenSSH istemcisi ve sunucusu bulunur. Her iki paket de GUI veya PowerShell üzerinden kurulabilir.
OpenSSH paketinin tam adını bulmak için aşağıdaki komutu yazın:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Komut böyle bir şey döndürmelidir:
Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent
Paket adını öğrendikten sonra çalıştırarak yükleyin:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Başarıda çıktı şu şekilde görünecektir:
Path: Online: True RestartNeeded: False
MacOS'ta OpenSSH İstemcisi Yükleme
macOS, varsayılan olarak yüklü OpenSSH istemcisi ile birlikte gelir.
ssh
Komutunun Kullanımı
SSH üzerinden uzaktaki bir makinede oturum açabilmek için aşağıdaki gereksinimlerin karşılanması gerekir:
- Uzak makinede bir SSH sunucusu çalışıyor olmalıdır. Uzak makinenin güvenlik duvarında SSH bağlantı noktası açık olmalıdır. Uzak hesabın kullanıcı adını ve şifresini bilmeniz gerekir. Hesabın uzaktan giriş için uygun ayrıcalıklara sahip olması gerekir.
ssh
komutunun temel sözdizimi aşağıdaki gibidir:
ssh:HOST
ssh
komutunu kullanmak için Terminal veya PowerShell'inizi açın ve
ssh
yazın ve ardından uzak ana bilgisayar adını yazın:
ssh ssh.linuxize.com
Uzaktaki bir makineye SSH üzerinden ilk kez bağlandığınızda, aşağıdaki gibi bir mesaj görürsünüz.
The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?
Her ana bilgisayarda
~/.ssh/known_hosts
dosyasında depolanan benzersiz bir parmak izi bulunur.
Uzak parmak izini saklamak için
yes
yazın, parolanızı girmeniz istenir.
Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:
Parolayı girdikten sonra, uzak makineye giriş yapacaksınız.
Kullanıcı adı belirtilmediğinde,
ssh
komutu geçerli sistem oturum açma adını kullanır.
Farklı bir kullanıcı olarak oturum açmak için kullanıcı adını ve ana bilgisayarı aşağıdaki biçimde belirtin:
ssh username@hostname
Kullanıcı adı
-l
seçeneğiyle de belirtilebilir:
ssh -l username hostname
Varsayılan olarak, hiçbir bağlantı noktası verilmediğinde, SSH istemcisi 22 numaralı bağlantı noktasındaki uzak sunucuya bağlanmaya çalışır. Bazı sunucularda, yöneticiler varsayılan SSH bağlantı noktasını değiştirerek, sunucuya ek bir güvenlik katmanı ekler. otomatik saldırılar.
Varsayılan olmayan bir bağlantı noktasına bağlanmak için, bağlantı noktasını belirtmek üzere
-p
seçeneğini kullanın:
ssh -p 5522 username@hostname
ssh -v username@hostname
Ayrıntı düzeyini artırmak için
-vv
veya
-vvv
kullanın.
ssh
komutu bir dizi seçeneği kabul eder.
Tüm seçeneklerin tam listesi için terminalinize
man ssh
yazarak
ssh
man sayfasını okuyun.
SSH Yapılandırma Dosyası
OpenSSH istemcisi, kullanıcı başına yapılandırma dosyasında (
~/.ssh/config
) ayarlanan seçenekleri okur. Bu dosyada, bağlandığınız her uzak makine için farklı SSH seçeneklerini saklayabilirsiniz.
Örnek bir SSH yapılandırması aşağıda gösterilmiştir:
Host dev HostName dev.linuxize.com User mike Port 4422
ssh dev
yazarak ssh istemcisini çağırdığınızda, komut
~/.ssh/config
dosyasını okuyacak ve dev ana bilgisayarı için belirtilen bağlantı ayrıntılarını kullanacaktır. Bu örnekte,
ssh dev
aşağıdakilere eşdeğerdir:
ssh -p 4422 [email protected]
Daha fazla bilgi için SSH yapılandırma dosyasındaki makaleye bakın.
Ortak Anahtar Kimlik Doğrulaması
SSH protokolü çeşitli kimlik doğrulama mekanizmalarını destekler.
Ortak anahtar tabanlı kimlik doğrulama mekanizması, şifrenizi yazmanıza gerek kalmadan uzak sunucuda oturum açmanıza olanak tanır.
Bu yöntem, kimlik doğrulama için kullanılan bir çift şifreleme anahtarı oluşturarak çalışır. Özel anahtar istemci aygıtında depolanır ve ortak anahtar, oturum açmak istediğiniz her uzak sunucuya aktarılır. Uzak sunucunun anahtar kimlik doğrulamasını kabul edecek şekilde yapılandırılması gerekir.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Güvenli bir parola girmeniz istenir. Parolayı kullanmak isteyip istemediğiniz size kalmış.
Anahtar çiftinizi aldıktan sonra, ortak anahtarı uzak sunucuya kopyalayın:
ssh-copy-id username@hostname
Uzak kullanıcı parolasını girin, ortak anahtar uzak kullanıcı
authorized_keys
dosyasına eklenir.
Anahtar yüklendikten sonra, şifre sorulmadan uzak sunucuya giriş yapabilirsiniz.
Anahtar tabanlı bir kimlik doğrulaması ayarlayarak, oturum açma işlemini basitleştirebilir ve genel sunucu güvenliğini artırabilirsiniz.
Liman Yönlendirme
SSH tüneli veya SSH bağlantı noktası iletme, bir istemci ile bir sunucu makinesi arasında hizmet bağlantı noktalarının geçirilebileceği şifreli bir SSH bağlantısı oluşturma yöntemidir.
SSH iletme, VNC veya FTP gibi şifrelenmemiş bir protokol kullanan hizmetlerin ağ verilerini taşımak, coğrafi olarak kısıtlanmış içeriğe erişmek veya ara güvenlik duvarlarını atlamak için kullanışlıdır. Temel olarak, herhangi bir TCP bağlantı noktasını iletebilir ve trafiği güvenli bir SSH bağlantısı üzerinden tünelleyebilirsiniz.
Üç tür SSH bağlantı noktası iletme vardır:
Yerel Bağlantı Noktası İletme
Yerel bağlantı noktası iletme, bağlantıyı istemci ana bilgisayardan SSH sunucu ana bilgisayarına ve ardından hedef ana bilgisayar bağlantı noktasına yönlendirmenize olanak tanır.
Yerel bağlantı noktası iletme oluşturmak için
-L
seçeneğini
ssh
istemcisine
ssh
:
ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname
-F seçeneği,
ssh
komutuna arka planda çalışmasını ve
-N
uzak komut yürütmemesini söyler.
Uzak Port Yönlendirme
Uzak port yönlendirme, yerel port yönlendirmenin tersidir. Bir bağlantı noktasını sunucu ana bilgisayarından istemci ana bilgisayara ve sonra da hedef ana bilgisayar bağlantı noktasına iletir.
-L
seçeneği
ssh
uzak bağlantı noktası iletme oluşturmasını söyler:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname
Dinamik Bağlantı Noktası Yönlendirme
Dinamik bağlantı noktası iletme, çeşitli bağlantı noktaları arasında iletişime izin veren bir SOCKS proxy sunucusu oluşturur.
Dinamik bağlantı noktası yönlendirme (SOCKS) oluşturmak için
-D
seçeneğini ssh istemcisine iletin:
ssh -D LOCAL_PORT -N -f username@hostname
Daha ayrıntılı bilgi ve adım adım talimatlar için SSH Tünel Oluşturma (Port Yönlendirme) başlıklı makaleye göz atın.
Sonuç
Uzak sunucuya SSH ile bağlanmak için,
ssh
komutunu ve ardından uzak kullanıcı adını ve ana bilgisayar adını (
ssh username@hostname
) kullanın.
ssh
komutunun nasıl kullanılacağını bilmek uzak sunucuyu yönetmek için çok önemlidir.
Komut Satırı Komutu? Gelişmiş Çalışmayı Kontrol Et
Yalnızca ciddi meraklılar için: Komutları ve programları çalıştırın ve çalışan bir Çalıştır kutusuyla dosya ve klasörleri açın.
'Çalıştır' Komutu'nu Vista'nın Başlat Menüsüne Geri Yükle
Microsoft, çoğu kullanıcının Run'ı çalıştırmasına gerek olmadığını düşünüyor. Bunlardan biri değilseniz, özelliği geri yüklemek için aşağıdaki basit adımları izleyin.
Windows Mobile, Ses Komutu Kabiliyetine Sahip Olsun
Kullanıcılar, sesli komutları kullanarak metinleri arayabilir, gönderebilir ve arayabilir







