Varsayılan olarak, ssh id_dsa
ve id_rsa
dosyaları arar . Anahtarların böyle adlandırılması gerekmez, aynı şekilde adlandırabilir mykey
veya hatta farklı bir dizine yerleştirebilirsiniz. Ancak, bunlardan birini yaparsanız, ssh komutundaki anahtara açıkça başvurmanız gerekir:
ssh user@server -i /path/to/mykey
Bir komut kabul etmiyorsa -i
, örneğin sshfs
, IdentityFile
seçeneği kullanın:
sshfs -o IdentityFile=/path/to/mykey user@host:/path/on/remote /mountpoint
Nasıl çalışır
Bir anahtar oluştururken iki dosya alırsınız: id_rsa
(özel anahtar) ve id_rsa.pub
(genel anahtar). Adlarından da anlaşılacağı gibi, özel anahtar gizli tutulmalıdır ve ortak anahtar halka açıklanabilir.
Genel anahtar kimlik doğrulaması, genel ve özel anahtarla çalışır. Hem istemci hem de sunucu kendi anahtarlarına sahiptir. openssh-server
Sunucuyu kurarken ortak ve özel anahtarlar otomatik olarak oluşturulur. Müşteri için bunu kendi başınıza yapmanız gerekir.
Siz (istemci) bir sunucuya bağlandığınızda, genel anahtarlar değiş tokuş edilir. Sunuculardan birini, sunucu ise size ait. Sunucu genel anahtarını ilk aldığınızda, sizden kabul etmeniz istenir. Bu genel anahtar bir süre içinde değişirse, olası bir MITM (ortadaki adam) saldırısı gerçekleştiği için, istemci ile sunucu arasındaki trafiği ele geçiren uyarılırsınız.
Sunucu, bağlanmanıza izin verilip verilmediğini (içinde tanımlanmış /etc/ssh/sshd_config
) ve ortak anahtarınızın ~/.ssh/authorized_keys
dosyada olup olmadığını kontrol eder . Genel anahtarın reddedilmesinin olası nedenleri:
/etc/ssh/sshd_config
:
AllowUsers
veya AllowGroups
belirtilmişse ancak sunucu kullanıcı grupları veya kullanıcılar listesinde yer almıyorsa (varsayılan giriş yapmalarını kullanıcılara veya gruplara ilişkin kısıtlama olmadığı yerleştirerek, tanımlanmamış).
DenyUsers
veya DenyGroups
belirtildiyseniz, kullanıcılar veya gruplar listesindesiniz.
- Kök olarak giriş yapmaya çalışıyorsunuz, ancak (varsayılan )
PermitRootLogin
olarak ayarlanmışsınız .No
yes
PubkeyAuthentication
No
(varsayılan yes
) olarak ayarlanmış .
AuthorizedKeysFile
farklı bir konuma ayarlanmış ve ortak anahtarlar bu dosyaya eklenmemiş (varsayılan .ssh/authorized_keys
, ana dizine göre)
~/.ssh/authorized_keys
: ortak anahtarınız bu dosyaya eklenmemiş (bu dosyanın kök kullanıcı olarak okunduğunu unutmayın)
Birden çok tuş kullanma
Birden fazla anahtar kullanmak nadir değildir. Çalıştırmak yerine, ssh user@host -i /path/to/identity_file
bir yapılandırma dosyası kullanabilirsiniz ~/.ssh/config
.
Genel ayarlar, IdentityFile (anahtarlar) ve bağlantı noktasıdır. Bir sonraki konfigürasyon "id_dsa" ve "bender" ı yalnızca aşağıdakilerle bağlantı kurarken kontrol edecektir ssh youruser@yourhost
:
Host yourhost
IdentityFile ~/.ssh/id_dsa
IdentityFile ~/.ssh/bender
Atlarsanız Host yourhost
, ayarlar tüm SSH bağlantılarına uygulanır. Diğer seçenekler de, böyle bu konak maç için belirtilebilir User youruser
, Port 2222
vb Bu steno ile bağlantı olanağı sağlayacak ssh yourhost
yerine ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender
.