Android

Ssh komutu

Самый безопасный SSH по сертификатам. Настройка SSH сервера.

Самый безопасный SSH по сертификатам. Настройка SSH сервера.

İçindekiler:

Anonim

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.

ssh terminali