Linux'ta Kaynaktan OpenSSH Sunucusu Nasıl Kurulur


OpenSSH, uzak bilgisayar sistemlerine güvenli bir şekilde erişmek ve bunları yönetmek ve kimlik doğrulama anahtarlarını yönetmek için bir dizi araç sağlayan, SSH protokolünün 2.0'un tam olarak uygulandığı ücretsiz ve açık kaynaktır. ssh (telnet'in güvenli değişimi), scp, sftp (ftp'nin güvenli değişimi), ssh-keygen, ssh-copy-id, ssh-add ve daha fazlası gibi.

Yakın zamanda OpenSSH 9.3 piyasaya sürüldü ve birçok yeni özellik ve hata düzeltmesiyle birlikte geliyor; Daha fazla bilgi için SSH sürüm notlarını okuyabilirsiniz.

Bu yazımızda Linux sistemi üzerinde OpenSSH sunucu ve istemcisinin en son versiyonunun kaynaklardan nasıl kurulacağını ve yapılandırılacağını anlatacağız. OpenSSH paketinin mevcut kurulumuna sahip olduğunuzu varsayıyoruz.

Gereksinimler:

  • Debian/Ubuntu veya RHEL/CentOS Linux sistemi
  • C derleyicisi
  • Zlib 1.1.4 veya 1.2.1.2 veya üzeri
  • LibreSSL veya OpenSSL >= 1.0.1 < 1.1.0

OpenSSH Sunucusunu Kaynaktan Kurun

SSH'nin en son sürümünü yüklemeden önce, aşağıdaki komutu kullanarak sisteminizde yüklü olan SSH'nin geçerli sürümünü kontrol ettiğinizden emin olun.

ssh -V

OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g	1 Mar 2016

Yukarıdaki sonuca göre, yüklü OpenSSH sürümü 7.7'dir; en son OpenSSH sürümünü yüklemek için öncelikle birkaç bağımlılık yüklemeniz gerekir. yani geliştirme araçları veya temel bileşenler ve diğer gerekli paketler aşağıdaki gibidir.

-------------- On RedHat-based Distros --------------
sudo yum update
sudo yum group install 'Development Tools'
sudo yum install zlib-devel openssl-devel

-------------- On Debian-based Distros --------------
sudo apt update 
sudo apt install build-essential zlib1g-dev libssl-dev 

OpenSSH sunucusunu kurmak için uygun bir ortam oluşturmak amacıyla, “sshd” adında yeni bir sistem kullanıcısı ve grubunun yanı sıra için güvenli bir yer oluşturmamız gerekir. chroot.

sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
sudo useradd -r -U -d /var/lib/sshd/ -c "sshd privsep" -s /bin/false sshd

Yukarıdaki useradd komutundaki bayrakların açıklanması:

  • -r – useradd'a bir sistem kullanıcısı oluşturmasını söyler
  • -U – aynı ada ve grup kimliğine sahip bir grup oluşturma talimatını verir
  • -d – kullanıcının dizinini belirtir
  • -c – yorum eklemek için kullanılır
  • -s – kullanıcının kabuğunu belirtir

Şimdi OpenSSH 9.3 sürümünün tarball'ını mevcut HTTP aynalarının herhangi birinden indirin veya doğrudan terminalinize indirmek için aşağıdaki wget komutunu kullanabilirsiniz.

wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
tar -xzf openssh-9.3p1.tar.gz
cd openssh-9.3p1/

Şimdi --with-md5-passwords, --with-privsep-path ve OpenSSH sunucusunu oluşturup kuracağız. >--sysconfdir seçenekleri, /usr/local/ dizinindeki tüm dosyaları yükleyecektir (bu, varsayılan kurulum ÖNEK'idir).

./configure -h komutunu çalıştırarak ve kurulumunuzu daha da özelleştirerek mevcut tüm seçenekleri görebilirsiniz.

./configure -h

Örneğin, PAM ve SELinux desteğini etkinleştirmek için sırasıyla --with-pam ve --with-selinux seçeneklerini ekleyin, gerekli tüm başlık dosyalarını yüklemeniz gerekir onların çalışması için.

## Install PAM and SELinux Headers ##
sudo apt install libpam0g-dev libselinux1-dev   [On Debian/Ubuntu]
sudo yum install pam-devel libselinux-devel     [On CentOS/RHEL]

## Compile and Install SSH from Sources ##
./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh 
make
sudo make install 

OpenSSH'yi yükledikten sonra SSH'yi yeniden başlatın veya başka bir terminal penceresi açın ve sisteminizde şu anda yüklü olan OpenSSH sürümünü kontrol edin.

ssh -V

OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021

Çeşitli OpenSSH yapılandırma dosyaları şu konumda bulunur:

  • ~/.ssh/* – bu dizin kullanıcıya özel ssh istemci yapılandırmalarını (ssh takma adları) ve anahtarlarını saklar.
  • /etc/ssh/ssh_config – bu dosya sistem çapında ssh istemci yapılandırmalarını içerir.
  • /etc/ssh/sshd_config – sshd hizmet yapılandırmalarını içerir.

Ssh takma adlarını yapılandırmak için bkz. Uzaktan Erişimi Basitleştirmek için Özel SSH Bağlantılarını Yapılandırma

Ayrıca SSH ile ilgili aşağıdaki makaleleri de okumak isteyebilirsiniz.

Bu kadar! Bu yazımızda Linux sistemi üzerinde bir kaynaktan OpenSSH sunucusunun son versiyonunun nasıl kurulacağını ve yapılandırılacağını anlattık. Herhangi bir sorunuz veya yorumunuz varsa bize ulaşmak için aşağıdaki geri bildirim formunu kullanın.