Varsayılan olarak, ssh id_dsave id_rsadosyaları arar . Anahtarların böyle adlandırılması gerekmez, aynı şekilde adlandırabilir mykeyveya 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, IdentityFileseç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-serverSunucuyu 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_keysdosyada olup olmadığını kontrol eder . Genel anahtarın reddedilmesinin olası nedenleri:
/etc/ssh/sshd_config:
AllowUsersveya AllowGroupsbelirtilmiş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ış).
DenyUsersveya DenyGroupsbelirtildiyseniz, kullanıcılar veya gruplar listesindesiniz.
- Kök olarak giriş yapmaya çalışıyorsunuz, ancak (varsayılan )
PermitRootLoginolarak ayarlanmışsınız .Noyes
PubkeyAuthenticationNo(varsayılan yes) olarak ayarlanmış .
AuthorizedKeysFilefarklı 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_filebir 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 2222vb Bu steno ile bağlantı olanağı sağlayacak ssh yourhostyerine ssh -p2222 youruser@yourhost -i ~/.ssh/id_dsa -i ~/.ssh/bender.