SSH-Key Kullanımı

Yazan: boratanrikulu

Kaynaklar
www.digitalocean.com - Görsel Kaynağı



SSH-Key’in Oluşturulması

Öncelikle bilgisayarınızda ssh-key’i aşağıdaki gibi hazırlayın.

	$ ssh-keygen

Ardından pub dosyasının içeriğini kopyalayın ve sunucu tarafına geçin.

	$ cat /path/to/ssh-key.pub


Sunucuda “authorized_keys” Dosyasının Hazırlanması

Eğer hali hazırda sunucuda ilgili kullanıcının home dizini altında .ssh/authorized_keys dosyası bulunmuyorsa aşağıdaki işlemleri uygulayın.

~/.ssh klasörünü aşağıdaki gibi oluşturun ve erişebilirliğini 700 olarak belirleyin.

	$ cd ~/ && mkdir .ssh && chmod 700 .ssh

~/.ssh/authorized_keys dosyasını aşağıdaki gibi oluşturun ve erişebilirliğini 600 olarak belirleyin.

	$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

Ardından kopyaladığınız key’i .ssh/authorized_keys dosyasına yapıştırın.


SSH-Key Kullanımı ile Sunucuya Bağlanmak

Artık -i parametresi ile key’in konumunu belirterek sunucuya bağlayabilirsiniz.

	$ ssh -i /path/to/ssh-key username@ServerIP

Aşağıda görüldüğü gibi parola kullanılmadan bağlantı sağlanmış oldu.


SSH Kullanımının Daha Güvenli Hale Getirilmesi

Sunucunuzun daha güvenli bir hale gelmesi için default port olan 22’yi değiştirmenizde, root kullanıcısı ve parola kullanımı ile girişleri kapatmanızda fayda vardır. Aşağıdaki gibi bu işlemi yapabilirsiniz.

config dosyasını aşağıdaki gibi açın ve ilgili satırları tabloda belirtildiği gibi değiştirin.

	$ sudo nano /etc/ssh/sshd_config
Eski Yeni Amacı
#Port 22 Port KullanmakIstediginizPort Default olan 22’i yerine başka bir port kullanmak
#PermitRootLogin yes PermitRootLogin no root kullanıcısı ile ssh bağlantılarını engellemek
#PasswordAuthentication yes PasswordAuthentication no Parola ile girişleri kapatmak
#PubkeyAuthentication yes PubkeyAuthentication yes Pubkey kullanarak girişlere izin vermek

İşlem gerçekleştirildikten sonra aşağıda görüldüğü gibi ssh-key olmadan bağlantı kurulmasına izin verilmemektedir.


“.ssh/config” Dosyasının Kullanımı

Eğer birden fazla sunucu ile uğraşıyorsanız, her bağlantı kurma aşamasında IP girmek tam bir işkence. Bunun önüne geçmek için bilgisayarınızda aşağıdaki gibi bir .ssh/config dosyası oluşturabilirsiniz. Bu sayede IP’leri girmeden direkt olarak ssh serverName diyerek sunucunuz ile bağlantı sağlayabilirsiniz.

Bunun için ~/.ssh/config dosyasını oluşturun.

	$ touch .ssh/config

Ardından aşağıdaki dosyayı ayarlayın.

	Host	serverName
		HostName		ServerIP
		User			username
		Port			22
		IdentityFile		/path/to/ssh-key

Artık herhangi bir şekilde IP girmek yerine direkt olarak ssh serverName diyerek sunucunuza bağlanabilirsiniz.