scp: .ssh/authorized_keys: No such file or directory hatası ve çözümü

bash: /home/user/.ssh/authorized_keys: No such file or directory hatası ve çözümü
scp: .ssh/authorized_keys: No such file or directory

Muhtemelen bu hatayı şifresiz erişmek istediğiniz sunucuya scp ile key gönderirken alıyorsunuz ya da key i bir şekilde o sunucuya aktardınız ve authorized_keys dosyasına yazmak istediğinizde karşılaştınız.

Şifresiz erişmek istediğiniz sunucuya ssh ile erişin ve aşağıdaki komutları sıra ile çalıştırın , böylece gerekli izin hakları verilmiş şekilde authorized_keys dosyanız oluşturulacaktır.

root@ayhanarda:~# mkdir ~/.ssh
root@ayhanarda:~# chmod 700 ~/.ssh
root@ayhanarda:~# touch ~/.ssh/authorized_keys
root@ayhanarda:~# chmod 600 ~/.ssh/authorized_keys

Ayhan ARDA

Linux Sunuculara Otomatik Komut Gönderimi

Çoğu zaman buradan bir şeyler paylaşıyorum , sebebi ise tekrar gerektiğinde çözümü bulacağım yeri bilmek , mevcut şirketimde bu yapıda 300 civarı server var , tabi farklı yapıda 1000 kadar sunucu yönetiyoruz, hepsine bir gui ile bağlanıp komut gönderebilirim , tek tek ssh ile de bağlanabilirim ama bu ciddi vakit alıcı bir durum ve tekrar aynı işi yapmak ister isem aynı vakti yine harcayacağım . Şimdi bana verilen görev tüm sunuculara maldet kurmak. Önce biraz düşünme vakti ayırıyorum kendime ve bir demli çay hazırlıyorum.

Elimdeki doneler

*Aynı dağıtım sunucular

*Aynı ssh portları

*Aynı ssh şifreleri

Bu durumda şöyle düşünüyorum; aynı komut hepsinde çalışacak , ssh protokülünde port belirtebiliyorum ve sshpass ile de key gerekmeksizin aynı şifreyi tüm sunucular için sırası ile girdirebiliyorum. Şimdi bu örneği gerçeğe dönüştürelim.

Debian tabalı bir dağıtım olan kali kullandığım için apt-get install sshpass ile ssh pass kurdum , burayı söylemiyorum.

Bir hosts.txt dosyası oluşturdum ve tüm işlem yapacağım sunucuları içine alt alta satır satır yazdım.

nano hosts..txt

sunucu1.ayhanarda.com
herhangi bir ip adresi
suunucu8.blabla.com
server5.ayhanarda.com

Kaydedip çııkıyorum , şimdi komutumuza gelelim , buraya kadar aynı yaptığınızı varyarak değişkenleri işaretledim.

mapfile -t myhosts < hosts.txt; for host in “${myhosts[@]}”; do sshpass -p ŞİFRENIZ ssh root@”$host” -p PORT -o “StrictHostKeyChecking no” ‘KOMUT‘; done

Ayhan ARDA

Linux sunucular arası şifresiz erişim

Diyelim ki bir adet ana sunucunuz var ve birden fazla erişmek istediğiniz linux sunucu , yani ana sunucunuz diğer sunuculara ssh ile erişirken şifreye gerek olmasın ya da sormasın diye düşünüyoruz.

Ana sunucu ip adresim 192.168.126.128 olsun , bu sunucudan şifresiz erişmek istediğim sunucu ip adreside 192.168.126.159 olsun

Ana sunucumuza ssh ile erişelim. (192.168.126.128)

root@anasunucu:~# cd /root/.ssh/

root@anasunucu:~/.ssh# ssh-keygen  -t rsa

Şimdi keyin adını soracak , entera basıp geçebilirsiniz.

Sonrasında 2 defa şifre soracak , yine entera basıp geçebilirsiniz.

Artık key imiz oluştu. bulunduğunuz klasörde id_rsa.pub adı ile görebilirsiniz.

Şimdi aşağıdaki komut ile bizim yeni oluşan id_rsa.pub dosyasını diğer sunucuya göndereceğiz.

root@anasunucu:~/.ssh# ssh-copy-id -i “root@192.168.126.159”

Burada bir seferlik bize 192.168.126.159 un şifresini soracak, yazalım , işlem tamamdır.

Artık 192.168.126.128 , 192.168.126.159 a şifresiz erişebilir durumda.

root@anasunucu:~/.ssh# ssh root@192.168.126.159
Welcome to Ubuntu 15.10 (GNU/Linux 4.2.0-16-generic x86_64)
Last login: Thu Apr 14 03:32:33 2016 from 192.168.126.128
root@digersunucu:~#

Görüldüğü üzere şifre sormadı ve direk içindeyiz. Diğer sunucudan exit yazıp yine ana sunucuya dönebiliriz.

Ayhan ARDA

cp: cannot create symbolic link: Operation not permitted hatası

Linux sunucularımızda dosya ya da klasör kopyalar iken bu hatayı alıyor iseniz aşağıdaki şekilde hata almadan işlem yapabilirsiniz.

cp: cannot create symbolic link: Operation not permitted

cp -rL vhosts /mnt/yedek/   (vhost klasörünü ve içini /mnt/yedek klasörünün içine aktar)

cp -rL aktarılacakklasoryadadosya/buraya/aktar/

cp -rL source dest.

cp: cannot create symbolic link: Operation not permitted

Whm / Cpanel Disk Alanı Yetersiz Uyarısı

Aşağıdaki hatayı alıyor iseniz yapmanız gereken işlem anlatılacaktır,

Sorry for the inconvience!
The filesystem mounted at / on this server is running out of disk space. cPanel operation has been temporarily suspended to prevent something bad from happening. Please ask your system admin to remove any files not in use on that partition.

Cpanel disk alanı %99 un üzerine çıktığında hesap açma gibi işlemleri yapmaz ve yukarıdaki uyarıyı verir , gelecek cpanel de bunu panelden kontrol edebileceğiz fakat şimdilik aşağıdaki dosyayı açıyoruz ,

1 – ssh ile giriş yapılır ,

2- /root/.cpanel/datastore klasörünün içine girilir.

cd /root/.cpanel/datastore

3- _bin_df_-P_-k_-l dosyası açılır.

nano _bin_df_-P_-k_-l

Burada %99 yazılı bir alan göreceksiniz , bu alanı daha küçük bir değer ile değiştirirseniz sorun düzelmiş olacaktır.

Removing WHM Disk Space Errors

 

SSH üzerinden mysql import ve export işlemleri

Veritabanınızın yedeğini almak için ,

mysqldump -u kullanıcıadı -pşifre databaseadı > yedek.sql

örnek : mysqldump -u ayhan -p12345 ayhandb > sqlyedek.sql

Veritabanınızı ssh üzerinden import etmek için,

mysql -u kullanıcıadı -pşifre databaseadı < yedek.sql

örnek : mysql -u ayhan -p12345 ayhandb < sqlyedek.sql

Wget Recursive ile Ftp İşlemleri

Selamlar,

Ne işe yarar ile başlayalım. Linux/unix makinanıza ssh ile eriştiniz. Farklı bir sunucuda, klasör içinde bulunan dosyaların hepsini kendi makinanıza indirmek istiyorsunuz. Bu komutlar ile sorgusuz sualsiz işlemi yapabilirsiniz.

Diyelim ki backup isimli klasöre indireceğiz. Aşağıdaki komutlar ile klasör oluşturup sonra içine giriyoruz.

mkdir ~/backup/
cd ~/backup/

wget -r ftp://username:password@ftp.example.com/
wget -r ftp://kullaniciadim:sifrem@ftp.domain.com/home/ayhanarda/
wget -r ftp://ayhan:sifre@ftp.domain.com/var/www/

Peki aynı işlemi windows ta nasıl yaparız 🙂

Önce aşağıdaki adresten programı indirip, kuruyoruz

http://users.ugent.be/~bpuype/wget/#download

Şimdi test zamanı, komut ekranını (cmd) açın ve içine aşağıdaki satırı yapıştırın.Dosyanın indirildiğini göreceksiniz.

wget http://users.ugent.be/~bpuype/wget/wget.exe

Peki Ftp için ne yapıyoruz , buyrun,

wget ftp://kullanıcıadı:parola@www.domain.com/var/ayhanarda

İyi çalışmalar..


Linux memory cache ‘ini temizlemek

Selamlar,

Sunucumda vmstat komutunu uyguladığımda cache in yüksek oranda veri tuttuğunu gördüm . Sizde bazı performans durumlarında cache i temizlemek isteyebilirsiniz. Bunun için dağıtımınıza göre aşağıdaki komutlardan birini kullanabilirsiniz.

sync; echo 3 > /proc/sys/vm/drop_caches

ya da;

sudo echo 3 | sudo tee /proc/sys/vm/drop_caches

ya da;

sudo sh -c “sync; echo 3 > /proc/sys/vm/drop_caches

Unix-Linux serverda kurulu php extension’ları ssh tan görmek

Selamlar,

Bazen sunucumuzda kurulu php extensionlarını görmek isteriz ya da bize sunucunuzda hangi extensionlar var dediklerinde bu listeyi topluca iletmek isteriz.Öncelikle bu komutu çağırabilmemiz için sunucunuzda php5-cli kurulu olduğundan emin olmamız gerekir. Eğer kurulu değilse kullandığınız dağıtıma göre aşağıdaki komutlardan biri ile kurabilirsiniz.

sudo apt-get install php5-cli ya da    yum install php5-cli

Bu şekilde php5-cli kurulmuş oldu. Şimdi esas komutumuza gelelim.

php –me

Yukarıdaki komutu kullandığınızda tüm kurulu php extensionları listelenecektir. Çıktı aşağıdakine benzer olmalı.

root@ayhanarda# php -me
[PHP Modules]
bcmath
calendar
ctype
curl
date
dom
filter
ftp
gd
hash
iconv
imap
ionCube Loader
json
libxml
mbstring
mcrypt
mysql
mysqli
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
SimpleXML
sockets
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
Zend Optimizer
zlib

[Zend Modules]
Zend Optimizer
the ionCube PHP Loader

Cpanel/Whm Bilinmeyen Komutlar

Cpanel/Whm kullanıcıları için bilinmeyen komutlar aşağıda listelenmiştir. Umarım faydalı olur..

1)Firewall Ayarlarını Resetlemek- https://example.com:2087/scripts2/doautofixer?autofix=iptablesflush

2)SSH Ayarlarını Resetlemek – http://example.com:2086/scripts2/doautofixer?autofix=safesshrestart

3)bsdbindfix – http://example.com:2086/scripts2/doautofixer?autofix=bsdbindfix

4)Autorepair – http://example.com:2086/scripts2/doautofixer?autofix=autorepair

5)compress Zlib – http://example.com:2086/scripts2/doautofixer?autofix=Compress-Zlib-1.42.tar.gz

6)compresszlibfix- http://example.com:2086/scripts2/doautofixer?autofix=compresszlibfix

7)dbdmysql – http://example.com:2086/scripts2/doautofixer?autofix=dbdmysql

Cooldiagnose_apache_conf – http://example.com:2086/scripts2/doautofixer?autofix=diagnose_apache_conf

9)fpindexfile – http://example.com:2086/scripts2/doautofixer?autofix=fpindexfile

10)libxml2-2.6.28.tar.gz-http://example.com:2086/scripts2/doautofixer?autofix=libxml2-2.6.28.tar.gz

11)libxml64fix – http://example.com:2086/scripts2/doautofixer?autofix=libxml64fix

12)pro*- http://example.com:2086/scripts2/doautofixer?autofix=pro*

13)spamd_dbm_fix – http://example.com:2086/scripts2/doautofixer?autofix=spamd_dbm_fix

14)test – http://example.com:2086/scripts2/doautofixer?autofix=test

15)vfilterfix – http://example.com:2086/scripts2/doautofixer?autofix=vfilterfix

16)yumduprpmfix – http://example.com:2086/scripts2/doautofixer?autofix=yumduprpmfix

17)resellerresourceacctounts – http://example.com:2086/scripts2/doautofixer?autofix=resellerresourceacctounts

18)horde_sqmail_current_fix – http://example.com:2086/scripts2/doautofixer?autofix=horde_sqmail_current_fix