Linux İşletim Sistemlerinde SSH (Secure Shell) Yapılandırması
Linux İşletim Sistemlerinde SSH Secure Shell Yapılandırması

Linux İşletim Sistemlerinde SSH Secure Shell Yapılandırması

Linux İşletim Sistemlerinde SSH (Secure Shell) Yapılandırması

# yum -y install openssh*

1. SSH kullanımında “root” kullanıcısının kısıtlanması (kapatılması) için aşağıdaki komutları kullanabiliriz.

-- SSH yapılandırma dosyamızı açarak değişkenlerimizi düzenliyoruz.

# vim /etc/ssh/sshd_config

#PermitRootLogin yes

satırındaki "#" işaretini kaldırarak aşağıdaki gibi düzenliyoruz.

PermitRootLogin no

gerekli düzenlemeyi yaptıktan sonra kaydedip çıkıyoruz.

-- Ayarların geçerli olabilmesi için SSH servisimizi yeniden başlatıyoruz.

# service sshd restart

-- Bu şekilde ayarladığımızda sistemimize "root" kullanıcısı ile bağlanamayız
ancak başka bir kullanıcı ile bağlanabiliriz. Örneğin sistemimize "oracle"
kullanıcısı ile bağlanıp daha sonra "su" komutu ile "root" kullanıcısına
geçebiliriz.

2. Sistemimize SSH ile bağlanmasını istediğimiz veya engellemek istediğimiz kullanıcıları aşağıdaki değişkenlerle belirleyebiliriz.

-- Sistemimize "root" dışında bir kullanıcının bağlanmasını engellemek için

# vim /etc/ssh/sshd_config

dosyasına aşağıdaki değişkeni eklemeliyiz.

AllowUsers root

-- Sistemimize belli bir kullanıcının bağlanmasını engellemek için

DenyUsers oracle

değişkenini eklememiz yeterlidir.

-- Ayarların geçerli olabilmesi için SSH servisimizi yeniden başlatıyoruz.

# service sshd restart

3. SSH programının kullandığı portu değiştirerek ekstra güvenlik sağlayabiliriz. Bu şekilde port numarasını bilmeyen bir kullanıcı sisteme bağlanamayacaktır. Dikkat etmemiz gerekense atayacağımız portun başka bir program tarafından kullanılmamasıdır.

-- Sistemimize "root" dışında bir kullanıcının bağlanmasını engellemek için

# vim /etc/ssh/sshd_config

dosyasına aşağıdaki port değişkenini değiştirmeliyiz.

#Port 22

satırındaki "#" işaretini kaldırarak aşağıdaki gibi düzenliyoruz.

Port 2210

-- Ayarların geçerli olabilmesi için SSH servisimizi yeniden başlatıyoruz.

# service sshd restart

-- Artık sistemimize bağlanacak kullanıcı port numarasını "22" yerine "2210"
olarak yazmalıdır.

# ssh -W hostname:portnumber

veya

# ssh hostname -p 2210

4. Linux işletim sistemlerinde “ssh” yazılımı bütünleşik olarak gelmektedir. Ancak Microsoft Windows İşletim Sistemlerinde “ssh” bağlantısı yapabilmek için entegre bir araç bulunmamaktadır. Aşağıdaki gibi benzer bir “ssh” yazılımının sisteme kurulu olması gerekmektedir.

-- puTTY aracını aşağıdaki sisteden indirebiliriz. Bu araç ücretsiz ve
kullanımı basittir.

Putty

-- VanDyke SecureCRT aracını aşağıdaki siteden indirebiliriz. Bu araç ücretli
ve gelişmiş bir araçtır.

VanDyke SecureCRT

5. Oracle Real Application Cluster Veritabanlarında üyeler birbirleri arasında parolasız olarak güvenli bir şekilde konuşabilirler. Bunun için “ssh” yapılandırmasını kurulum sihirbazı ile yapabiliriz. Ancak bazı durumlarda bu yapılandırmayı elle yapmamız gerekirse aşağıdaki adımları uygulamalıyız.

-- SSH aracı genellikle sistemimizde kurulu halde gelmektedir.
Ancak kurulu değilse kurmak için

# yum install openssh-server

-- SSH aracımızı başlatmak ve sunucumuz başladığında otomatik başlaması için

# service sshd start

# chkconfig sshd on

-- SSH yapılandırmamızı elle yapmak için aşağıdaki adımları tüm üye sunucularda
yapıyoruz.

-- oracle kullanıcısına geçiyoruz.

# su - oracle

-- SSH anahtarımızın depolanması için dizinimizi yaratıyoruz.

$ mkdir ~/.ssh

-- Gerekli çalışma izinlerini veriyoruz.

$ chmod 700 ~/.ssh

-- SSH anahtarımızı üretiyoruz. Aşağıdaki 3 soruyu "enter" tuşuna basarak
varsayılan ayarlarla geçiyoruz.

$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 


Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

The key fingerprint is:
a4:df:a2:e6:46:f9:b7:4e:20:0a:ab:e7:f3:01:17:f7 [email protected]

The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|    . . .        |
|     o +         |
|  o . o.E        |
|   = .oo o       |
|  . o. .o o      |
| .o  .o..o.      |
|.o.o.+o  oo.     |
+-----------------+

-- Her iki üyede "authorized_keys" dosyasını oluşturuyoruz.

$ cd ~/.ssh

$ cat id_rsa.pub >> authorized_keys

-- Birinci üyede ikinci üyeye ikinci üyeden de birinci üyeye "authorized_keys"
dosyasını kopyalıyoruz.

-- Birinci üyede aşağıdaki komutu çalıştırıyoruz.

$ scp authorized_keys kryrac2.localdomain:/home/oracle/.ssh/

-- İkinci üyede aşağıdaki komutu çalıştırıyoruz.

$ scp authorized_keys kryrac1.localdomain:/home/oracle/.ssh/

-- SSH ayarlarımızı test edip gerekli ayarları yapıyoruz.

-- Birinci üyede aşağıdaki komutu çalıştırıyoruz.

$ ssh kryrac2 date

-- İkinci üyede aşağıdaki komutu çalıştırıyoruz.

$ ssh kryrac1 date

-- Birinci üyede aşağıdaki komutu çalıştırıyoruz.

$ ssh kryrac2.localdomain date

-- İkinci üyede aşağıdaki komutu çalıştırıyoruz.

$ ssh kryrac1.localdomain date

-- Her iki üyede aşağıdaki komutlaru çalıştıyoruz.

$ exec /usr/bin/ssh-agent $SHELL

$ /usr/bin/ssh-add

-- Her iki üyede "root" kullanıcıyla "ssh" servisini yeniden başlatıyoruz.

# service sshd restart

-- Bu işlemlerden sonra sunucularımız "ssh" üzerinden parolasız konuşacaktır.

6. Oracle Real Application Cluster Veritabanlarında üyeler birbirleri arasında parolasız olarak güvenli bir şekilde konuşabilmesini “grid” kurulumundaki “sshUserSetup.sh” scriptinide kullanarak yapılandırabiliriz.

-- Oracle kullanıcısına geçiyoruz.

# su - oracle

-- Grid kurulum dosyalarımızın olduğu dizindeki "/media/sshsetup" dizinine 
geçiyoruz.

$ cd /u01/orainstall/grid/media/sshsetup

-- SSH yapılandırma scriptimizi aşağıdaki parametreleri kendi sistemimize göre
ayarlayıp çalıştırıyoruz.

$ ./sshUserSetup.sh -user oracle -hosts "kryrac1 kryrac2" -noPromptPassphrase

-- Yapılandırmamız başarılı olduktan sonra her iki üyede "root" kullanıcıyla
"ssh" servisini yeniden başlatıyoruz.

# service sshd restart