İstemci Yapılandırması
Kurmak ~/.ssh/config
Ana bilgisayar girişlerini ayarlamak sshgerçekten kolaydır ve size çok fazla sorun kazandıracaktır. İşte bir örnek:
Host digitaloceanbox
Hostname 111.111.111.111
User root
PubKeyAuthentication yes
IdentityFile /home/user/.ssh/digitalocean-rsa
ForwardX11 yes
Host github github.com
Hostname github.com
User git
PubKeyAuthentication yes
IdentityFile /home/user/.ssh/github-rsa
ForwardX11 no
Bu örnek, biz kurulumunda digitaloceanboxve githubve github.combu nedenle aşağıdaki komutları yapabileceği:
ssh github
ssh digitaloceanbox
Eğer yapılandırma dosyasında belirtilenden farklı bir kullanıcı olarak giriş yapmak istiyorsak, en başa koyuyoruz user@:
Yaratma sshtuşları
ssh-keygen -t rsa -b 4096 -C user@homemachine
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): /home/user/.ssh/digitalocean-rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/digitalocean-rsa
Your public key has been saved in /home/user/.ssh/digitalocean-rsa.pub.
The key fingerprint is:
SHA256:p9PYE/tveF2n//bLbp3ogYDtMtYEC5ziQiPxeob6fbo user@homemachine
İstendiğinde oluşturmak istediğim özel anahtarın tam yolunu belirlediğimi unutmayın ssh-keygen. Ayrıca -C, uzak makinelerde anahtarları kolayca tanımamı sağlayan comment ( ) yöntemini de tanımladım .
Bu iki dosya oluşturur:
.ssh/digitalocean-rsa
- ÖZEL tuşu. Bunu asla paylaşmayın .
.ssh/digitalocean-rsa.pub
- Genel anahtar. Kimlik doğrulaması için sunucuda depoladığınız şey budur.
Eğer sağladığınızda sshanahtarı, bu kadar emin olun .pubversiyonu !! Kime eklediğinizde ~/.ssh/config, sisteme eklediğiniz genel anahtarla eşleşen doğru özel anahtarı eklediğinizden emin olun.
Sunucu Yapılandırması
Çoğu kurulum Ortak Anahtar Kimlik Doğrulaması etkinken gelir. Her şeyi kötü yapmaya başlarsanız, birkaç sorunla karşılaşabilirsiniz. OP sorununda nerede, OP /root/.ssh/baştan başlamak için dizini silmenizi öneririz .
sshUzaktaki sistemdeki kök kullanıcıya erişmek için kullanmanız önerilmez . sshBaşka bir kullanıcıya girmeniz ve ardından şifrenizi ( sudo su -) kullanarak kök dizine yükseltmeniz önerilir .
Kullanarak ana bilgisayara anahtarlar ekleyin ssh-copy-id
Başka bir kullanıcı oluşturmaya ve sshbu kullanıcı ya da kök kullanıcı olarak kullanmaya karar vermenizden bağımsız olarak, sshanahtarları sunucuya yerleştirmenin önerilen yolu şudur :
ssh-copy-id -i /home/user/.ssh/digitalocean-rsa.pub user@digitaloceanbox
Bu, sshdgerekli izinlerle dizin ve dosyaların oluşturulmasına izin verir . Bu, izinleri bozmanız veya ayrıntıları hatırlamanızın sıfır şansı olduğu anlamına gelir. Anahtarları yüklemek için aracı kullanmanız yeterlidir.
Parola Kimlik Doğrulamasını Devre Dışı Bırak
Bununla birlikte, kendinizi anahtarladıktan ve anahtarları kullanarak bağlanabildiğinizi doğruladıktan sonra, Parola Kimlik Doğrulamasını devre dışı bırakmanız sshdve hizmeti yeniden başlatmanız önerilir :
- Düzenle
/etc/ssh/sshd_config
PasswordAuthentication no
sudo systemctl restart sshd
Yeni kullanıcılar ne olacak?
Parola Kimlik Doğrulamasını devre dışı bırakırsanız, yeni kullanıcıları nasıl anahtarlayabilirsiniz? Bunun bir yolu /etc/skeldizine şablon dosyaları eklemektir . Bir kullanıcıyı anahtarladıktan sonra aşağıdakileri yapın:
sudo cp -r .ssh/ /etc/skel/
ls /etc/skel/.ssh
/etc/skel/.ssh/Kendinizi yeni oluşturulan her kullanıcı için otomatik olarak anahtarlamak istemiyorsanız, bulunan dosyaları boş olacak şekilde düzenleyin.
Birlikte yeni kullanıcılar oluşturduğunuzda sudo useradd -m newuser, söz konusu kullanıcı .ssh/authorized_keys, düzenleyebileceğiniz ve uygun izinlere sahip olacak.
Hata ayıklama
sshdBağlantıların neden başarısız olduğunu veya reddedildiğini görmek için günlük dosyasını izleyebilirsiniz :
sudo tail -f /var/log/auth.log
Bu komutu çalıştırırken, oturum açmayı denemek için başka bir terminal kullanın. Çoğu kez sağlanan mesajlar sorunu saptamaya veya çevrimiçi bir çözüm bulmaya yardımcı olacak kadar iyidir.