SSH(1) | Kullanıcı Komutları | SSH(1) |
İSİM¶
ssh - OpenSSH uzak oturum açma istemcisi
KULLANIM¶
- ssh
- [-46AaCfGgKkMNnqsTtVvXxYy] [-B bağlantı_arabirimi] [-b bağlantı_adresi] [-c algoritma] [-D [bağlantı_adresi:]port] [-E günlük_dosyası] [-e önceleme_krk] [-F yapılandırma_dosyası] [-I pkcs11] [-i kimlik_dosyası] [-J hoplama_konağı] [-L adres] [-l kullanıcı] [-m mac_belirtimi] [-O denetim_komutu] [-o seçenek] [-p port] [-Q sorgu_seçeneği] [ -R adres] [-S denetim_yolu] [-W konak:port] [-w yerel_tünel[:uzak_tünel]] hedef [komut [girdi]...]
AÇIKLAMA¶
ssh (SSH istemci) uzaktaki bir makinada komut çalıştırmak için uzaktaki makinada kullanıcı oturumu açmayı sağlayan bir uygulamadır. ssh güvenli olmayan bir ağ üzerindeki güvenilir olmayan iki sistemin şifreli dolayısı ile güvenli iletişim kurmalarını sağlar. X11 bağlantıları, çeşitli TCP/IP bağlantı portları ve UNIX alan soketleri de güvenli kanal üzerinden iletilebilir.
ssh, belirtilen hedef’e oturum açar. Hedef [kullanıcı]@konak biçeminde belirtilebileceği gibi ssh://[kullanıcı]@konak[:port] biçeminde bir sarmalayıcı ile de belirtilebilir.
Şayet kullanıcı bir komut belirtmiş ise, komut oturum kabuğu yerine uzak konakta çalıştırılır. komut olarak tam komut satırı belirtilebileceği gibi ek girdi’ler de belirtilebilir. Çalıştırılmak üzere komut sunucuya gönderilmeden önce belirtilen girdi’ler boşluklarla ayrılarak komuta eklenir.
Seçenekler¶
- -4
- ssh’yı sadece IPv4 adreslerini kullanmaya zorlar.
- -6
- ssh’yı sadece IPv6 adreslerini kullanmaya zorlar.
- -A
- Kimlik denetimi ajanı (örn, ssh-agent(1))
bağlantı yönlendirmesini etkinleştirir. Bu
ayrıca yapılandırma dosyasında da her konak
için ayrı ayrı belirtilebilir.
Bu seçenek etkinleştirilirken dikkat edilmelidir. Uzak konaktaki (ajanın Unix-alan soketi için) dosya izinlerini atlayabilen kullanıcılar iletilen bağlantılar sayesinde yerel ajana erişebilir. Saldırgan, ajandan anahtarları alamaz ancak ajanda yüklü olan kimlikleri kullanarak kimlik denetimini geçmeyi başarabilir. Atlama konağı kullanmak (bkz: -J seçeneği) daha güvenli bir seçenek olabilir.
- -a
- Kimlik denetimi ajanı bağlantı yönlendirmesini iptal eder.
- -B bağlantı_arabirimi
- Hedef konağa bağlanmaya çalışmadan önce bağlantı_arabiriminin adresine bağlanır. Sadece çok adresli sistemlerde yararlıdır.
- -b bağlantı_adresi
- Bağlantının kaynak adresi olarak yerel makinedeki bağlantı_adresi kullanılır. Sadece çok adresli sistemlerde yararlıdır.
- -C
- Bütün verilerin (stdin, stdout, stderr, X11, TCP ve UNIX etki alanı bağlantı verileri dahil) sıkıştırılmasını sağlar. Sıkıştırma algoritması gzip(1)’in kullandığı ile aynıdır. Modem hatları ve diğer yavaş bağlantılar için sıkıştırma kullanılmalıdır, ancak hızlı ağlar için bu sadece yavaşlamaya neden olacaktır. Öntanımlı değer yapılandırma dosyalarında her konak için ayrı ayrı belirtilebilir. Compression [Sıkıştırma] seçeneğine bakınız.
- -c algoritma
- Oturumu şifrelemekte kullanılacak algoritmayı belirler. Şifreleme algoritmaları öncelik sırasıyla virgüllerle ayrılarak belirtilebilir. ssh_config(5) kılavuz sayfasında Ciphers yönergesinin açıklamasına bakınız.
- -D [bağlantı_adresi:]port
- Yerel "dinamik" uygulama seviyesi port yönlendirmesi
belirtir. Yerel tarafta portu dinlemek üzere bir soket
ayrılır, seçimlik olarak
bağlantı_adresi belirtilebilir. Bu port ile ne zaman
bir bağlantı kurulsa, bağlantı güvenli
kanal üzerinden iletilir ve uzak sistemde nereye
bağlanılacağı uygulama protokolü
kullanılarak belirlenir. Şu anda SOCKS4 ve SOCKS5
protokolleri desteklenmektedir. ssh bir SOCKS sunucusu olarak
davranır. Sadece yetkili kullanıcı (root)
ayrıcalıklı portları yönlendirebilir.
Dinamik port yönlendirmeleri yapılandırma
dosyasında da belirtilebilir.
IPv6 adresleri, adres köşeli ayraç içine alınarak belirtilebilir. Yalnızca sistem yöneticisi (root) ayrıcalıklı portları yönlendirebilir. Öntanımlı olarak, yerel portlar GatewayPorts yönergesine göre bağlanır. Ancak, bağlantıyı belirli bir adrese bağlamak için doğrudan bağlantı_adresi kullanılabilir. bağlantı_adresi olarak "localhost" dinlenen porta yalnızca yerel kullanım için bağlanılacağını belirtirken, boş bir adres veya "*" portun tüm arabirimlerden erişilebilir olması gerektiğini belirtir.
- -E günlük_dosyası
- Hatalar standart hata yerine günlük_dosyasına eklenir.
- -e önceleme_karakteri
- pty’li bir oturum için önceleme karakterini tanımlar (öntanımlı: ’~’). Önceleme karakteri sadece bir satırının başında ise tanınır. Önceleme karakterinden sonraki nokta (’.’) bağlantıyı sonlandırır, Ctrl-Z bağlantıyı askıya alır, ’~’ ise önceleme karakterini bir kez gönderir. önceleme_karakteri olarak "none" belirtilirse öncelemler iptal edilir ve oturum tamamen şeffaf olur.
- -F yapılandırma_dosyası
- Kullanıcının kendine özgü yapılandırma dosyasını belirtmek içindir. Komut satırında bir yapılandırma_dosyası verilirse, sistemin yapılandırma dosyası (/etc/ssh/ssh_config) görmezden gelinir. $HOME/.ssh/config dosyası kullanıcının öntanımlı yapılandırma dosyasıdır. yapılandırma_dosyası olarak "none" belirtilirse hiçbir yapılandırma dosyası okunmaz.
- -f
- Komut yürütülmeden hemen önce
ssh’nın artalanda
çalışmasını sağlar. Bu
ssh’nın kullanıcı ya da anahtar
parolası sorması gerektiği ancak
kullanıcının bu işlemin artalanda
yapılmasını istediği durumlarda
yararlıdır. Bu seçenek -n
seçeneğinin de uygulanmasını sağlar.
X11 uygulamalarını uzak konakta
çalıştırırken komutun
şöyle çağrılması tavsiye edilir:
ssh -f host xterm.
ExitOnForwardFailure yapılandırma yönergesine “yes” atanırsa, -f ile başlatılmış bir istemci kendini artalana yerleştirmeden önce tüm uzak port yönlendirmelerinin başarıyla kurulmasını bekleyecektir. Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında ForkAfterAuthentication yönergesinin açıklamasına bakınız.
- -G
- host ve match bloklarını değerlendirdikten sonra yapılandırmayı basıp çıkmasını sağlar.
- -g
- Uzak konakların yönlendirilen yerel portlara bağlanmasına izin verir. Çoğullanmış bir bağlantıda kullanılırsa, bu seçeneğin ana süreçte belirtilmesi gerekir.
- -I pkcs11
- ssh’nın kullanıcı kimlik kanıtlaması için anahtarlar sağlayan bir PKCS#11 belirteci ile iletişim kurmak için kullanacağı PKCS#11 paylaşımlı kütüphanesini belirler.
- -i kimlik_dosyası
- Genel anahtarlı kimlik doğrulaması için okunacak olan gizli anahtar dosyasını belirtmekte kullanılır. Gizli anahtar dosyası yerel olarak mevcut olmadığında ssh-agent(5)’e yüklenene karşılık gelen gizli anahtarı kullanmak için bir ortak anahtar dosyası da belirtilebilir. ~/.ssh/id_rsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519, ~/.ssh/id_ed25519_sk ve ~/.ssh/id_dsa öntanımlıdır. Kimlik dosyaları, yapılandırma dosyasında her konak için ayrı ayrı belirtilebilir. Birden çok -i seçeneği belirtmek (ve yapılandırma dosyalarında birden çok kimlik belirtmek) mümkündür. Yapılandırma dosyalarında ilgili yönerge yoksa, kimlik dosyası adlarına -cert.pub eklenerek elde edilen dosya adıyla sertifika bilgileri yüklenmeye çalışılır.
- -J hoplama_konağı
- Önce hedef tarafından belirlenen hoplama_konağına bir ssh bağlantısı yapıp oradan bir TCP yönlendirmesiyle asıl hedefe bağlantı kurulur. Virgüllerle ayrılmış birden fazla hoplama_konağı belirtilebilir. Seçenek ProxyJump yapılandırma yönergesi için kısayoldur. Komut satırında belirtilen yapılandırma yönergeleri, genelde belirtilen hoplama_konağına değil, hedef konağa uygulanır. hoplama_konağı için yapılandırmayı belirlemek için ~/.ssh/config kullanılmalıdır.
- -K
- GSSAPI kimlik bilgilerinden GSSAPI tabanlı kimlik kanıtlamasını ve sunucuya yönlendirilmesini (aktarılmasını) etkinleştirir.
- -k
- GSSAPI kimlik bilgilerinin sunucuya yönlendirilmesini (aktarılmasını) iptal eder.
- -L
[bağlantı_adresi:]yerel_port:uzak_konak:uzak_port
-L [bağlantı_adresi:]yerel_port:uzak_soket
-L yerel_soket:uzak_konak:uzak_port
-L yerel_soket:uzak_soket - Yerel (istemci) konakta, belirtilen TCP yerel_portuna veya Unix
yerel_soketine yapılan bağlantıların,
belirtilen uzak_konaktaki uzak_porta veya Unix
uzak_soketine iletileceğini belirtir. Bu, isteğe
bağlı olarak belirtilen
bağlantı_adresi’ne bağlı yerel
tarafta bir TCP yerel_portu veya bir Unix soketini dinlemek
için bir yerel_soket tahsis edilerek
çalışır. yerel_port veya
yerel_soketten her bağlantı isteğinde,
bağlantı güvenli kanal üzerinden iletilir ve
uzak_konaktaki uzak_porta veya Unix uzak_soketine
bağlantı yapılır.
Port yönlendirmeleri ayrıca, yapılandırma dosyasında da belirtilebilir. Yalnızca sistem yöneticisi (root) ayrıcalıklı portları yönlendirebilir. IPv6 adresleri, adres köşeli ayraç içine alınarak belirtilebilir.
Öntanımlı olarak, yerel portlar GatewayPorts yönergesine göre bağlanır. Ancak, bağlantıyı belirli bir adrese bağlamak için doğrudan bağlantı_adresi kullanılabilir. bağlantı_adresi olarak "localhost" dinlenen porta yalnızca yerel kullanım için bağlanılacağını belirtirken, boş bir adres veya "*" portun tüm arabirimlerden erişilebilir olması gerektiğini belirtir.
- -l kullanıcı
- Uzak konakta oturum açmak için kullanılacak kullanıcı adını belirler. Ayrıca, yapılandırma dosyasında da her bir konak için ayrı ayrı belirtilebilir.
- -M
- Bağlantı paylaşımı için ssh istemcisini "master" (ana) kipe geçirir. "master" kipi etkin kılmak için birden fazla -Mseçeneği belirtilebilirse de çoğullama durumunu değiştiren her işlemden önce (örneğin yeni bir oturum açma) ssh-askpass(1) ile onay gerekir. Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında ControlMaster yönergesinin açıklamasına bakınız.
- -m mac_belirtimi
- Tercih sırasına göre virgüllerle ayrılmış MAC (message authentication code - ileti kimlik kanıtlama kodu) algoritmaları belirtilebilir. Daha fazla bilgi için MACs anahtar sözcüğüne bakınız.
- -N
- Uzak komut çalıştırılmaz. Bu sadece port yönlendirme için yararlıdır. Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında SessionType yönergesinin açıklamasına bakınız.
- -n
- /dev/null’u standart girdiye yöneltir (yani standart girdinin okunması engellenir). ssh artalanda çalışıyorsa bu seçenek kullanılmak zorundadır. Uzak sistemde X11 programları çalıştırılırken bu seçenek çok kullanılır. Örneğin, ssh -n shadows.cs.hut.fi emacs & komutu shadows.cs.hut.fi konağında emacs uygulamasını başlatacak ve X11 bağlantısı otomatik olarak şifreli kanal üzerinden iletilecektir. ssh artalana yerleştirilecektir. (Ancak ssh’nın kullanıcı ya da anahtar parolası gerektirmesi durumunda bu çalışmayacaktır; ayrıca -f seçeneğine de bakınız.) Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında StdinNull yönergesinin açıklamasına bakınız.
- -O denetim_komutu
- Etkin bağlantı çoğullama ana sürecine komut gönderir. -O seçeneği belirtildiğinde, denetim_komutu yorumlanır ve ana sürece iletilir. Geçerli komutlar şunlardır: "check" (ana sürecin çalışıp çalışmadığına bak), “forward” (komut çalıştırmadan önce yönlendirme isteği yap), "cancel" (yönlendirmeleri iptal et), "exit" (ana sürecin çıkmasını iste) ve "stop" (ana süreçten artık çoğullama isteği kabul etmemesini iste).
- -o seçenek
- Yapılandırma dosyasındaki biçime uygun seçenekleri belirtmek için kullanılabilir. Kendisine özel komut satırı seçeneği olmayan yapılandırma seçeneklerini belirtmek için kullanılabilir. Aşağıda sıralanan seçeneklere ait tüm ayrıntılar ve alabilecekleri olası değerler için ssh_config(5) kılavuz sayfasına bakınız.
AddKeysToAgent (Anahtarları Ajana Ekle) AddressFamily (Adres Ailesi) BatchMode (Toplu İş Kipi) BindAddress (Bağlantı Adresi) CanonicalDomains (Kurallı Alan Adları) CanonicalizeFallbackLocal CanonicalizeHostname CanonicalizeMaxDots CanonicalizePermittedCNAMEs CASignatureAlgorithms CertificateFile CheckHostIP (Konak IP Denetimi) Ciphers (Şifreler) ClearAllForwardings (Bütün İletimleri Temizle) Compression (Sıkıştırma) ConnectionAttempts (Bağlantı Denemeleri) ConnectionTimeout (Bağlantı Zaman Aşımı) ControlMaster ControlPath ControlPersist DynamicForward (Özdevimli İletim) EscapeChar (Önceleme Karakteri) ExitOnForwardFailure FingerprintHash ForkAfterAuthentication ForwardAgent (İletim Ajanı) ForwardX11 (X11 İletimi) ForwardX11Timeout ForwardX11Trusted (Güvenilir X11 İletimi) GatewayPorts (Ağ Geçidi Portları) GlobalKnownHostsFile (Genel Bilinen Konaklar Dosyası) GSSAPIAuthentication (GSSAPI Kimlik Denetimi) GSSAPIDelegateCredentials (GSSAPI Yetkilendirme Tanıtımları) HashKnownHosts Host (Konak) HostbasedAcceptedAlgorithms HostbasedAuthentication (Konak Tabanlı Kimlik Denetimi) HostKeyAlgorithms (Konak Anahtarı Algoritmaları) HostKeyAlias (Konak Anahtarı Takma Adları) HostName (Konak Adı) IdentitiesOnly IdentityAgent IdentityFile (Kimlik Dosyası) IPQoS (IPv4 hizmet türü/DSCP sınıfı) KbdInteractiveAuthentication (Klavyeyle Kimlik Kanıtlama) KbdInteractiveDevices (Klavye Etkileşimli Aygıtlar) KexAlgorithms (Anahtar Değiş/Tokuş Algoritmaları) KnownHostsCommand (Konak Anahtarlarını Listeleme Komutu) LocalCommand (Yerel Komut) LocalForward (Yerel Yönlendirme) LogLevel (Günlükleme Düzeyi) LogVerbose (Günlükleme Ayrıntısı) MACs (İleti Kimlik Denetimi Kodları) Match (Eşleş) NoHostAuthenticationForLocalhost NumberOfPasswordPrompts (Parola İsteme Adedi) PasswordAuthentication (Parolalı Kimlik Denetimi) PermitLocalCommand (Yerel Komuta İzin) PermitRemoteOpen (Uzak Port Yönlendirme İzni) PKCS11Provider (PKCS11 Sağlayıcı) Port PreferredAuthentications (Tercihli Kimlik Denetimleri) ProxyCommand (Vekil Komutu) ProxyJump (Atlama Vekili) ProxyUseFdpass (Dosya Tanıtıcısı Döndüren Vekil Komutu) PubkeyAcceptedAlgorithms (Genel Anahtar İmza Algoritmaları) PubkeyAuthentication (Genel Anahtarlı Kimlik Denetimi) RekeyLimit (Uzlaşım Öncesi Sınır) RemoteCommand (Uzak Komut) RemoteForward (Uzak Yönlendirme) RequestTTY (İstek Uçbirimi) RevokedHostKeys (Yürürlükten Kalkan Konak Anahtarları) SendEnv (Ortamı Gönder) ServerAliveInterval (Sunucu Canlılık Aralığı) ServerAliveCountMax (Canlı Sunucu En Çok İleti Sayısı) SessionType (Oturum Türü) SetEnv (Ortamı Tanımla) StdinNull StreamLocalBindMask StreamLocalBindUnlink StrictHostKeyChecking (Mutlak Konak Anahtarı Denetimi) TCPKeepAlive (TCP Canlı Tutma) Tunnel (Tünel) TunnelDevice (Tünel Aygıtı) UpdateHostKeys (Konak Anahtarlarını Güncelle) User (Kullanıcı) UserKnownHostsFile (Kullanıcının Bilinen Konakları Dosyası) VerifyHostKeyDNS VisualHostKey (Konak Anahtarını Göster) XAuthLocation (XAuth’un Tam Yolu)
- -p port
- Uzak konaktaki bağlantı portu. Yapılandırma dosyasında her konak için ayrı ayrı belirtilebilir.
- -Q sorgu_seçeneği
- Aşağıdaki özelliklerden biri tarafından desteklenen algoritmalar için sorgulama yapar: cipher (desteklenen simetrik şifreler), cipher-auth (kimliği doğrulanmış şifrelemeyi destekleyen, desteklenen simetrik şifreler), help (-Q seçeneği ile kullanım için desteklenen sorgu terimleri), mac (desteklenen ileti bütünleme kodları), kex (anahtar değiş/tokuş algoritmaları), key (anahtar türleri), key-cert (sertifika anahtarı türleri), key-plain (sertifikasız anahtar türleri), key-sig (tüm anahtar türleri ve imza algoritmaları), protocol-version (desteklenen SSH protokolü sürümleri) ve sig (desteklenen imza algoritmaları). Bunların yanında, ssh_config(5) veya sshd_config(5)’teki bir algoritma listesi alan herhangi bir anahtar sözcük, ilgili sorgu_seçeneği için bir takma ad olarak kullanılabilir.
- -q
- Sessiz kip. Bütün uyarı ve tanı iletilerinin gizlenmesini sağlar.
- -R
[bağlantı_adresi:]uzak_port:yerel_konak:yerel_port
-R [bağlantı_adresi:]uzak_port:yerel_soket
-R uzak_soket:yerel_konak:yerel_port
-R uzak_soket:yerel_soket
-R [bağlantı_adresi:]uzak_port - Belirtilen uzak TCP portu veya Unix soketi
bağlantısının yerel konağa
yönlendirilmesi için kullanılır.
Bu, uzak taraftaki bir Unix soketini dinlemek için bir TCP uzak_portu veya bir Unix uzak_soketi tahsis edilerek sağlanır. Bu porta veya Unix soketine her bağlantı yapılışında, bağlantı güvenli kanal üzerinden iletilir ve yerel_konak ve yerel_port veya yerel_soket ile belirtilen açık bir hedefe bağlantı kurulur, ancak açık bir hedef yoksa ssh bir SOCKS 4/5 vekili olarak davranacak ve bağlantıları uzak SOCKS istemcisi tarafından istenen hedeflere yönlendirecektir.
Port yönlendirmeleri ayrıca, yapılandırma dosyasında da belirtilebilir. Ayrıcalıklı portlar yalnızca uzak konakta root olarak oturum açılmışsa yönlendirebilir. IPv6 adresleri, adres köşeli ayraç içine alınarak belirtilebilir.
Öntanımlı olarak, TCP dinleme soketleri sunucu üzerinde yalnızca geridönüş (loopback) aygıtına bağlanır. Ancak, bağlantıyı belirli bir adrese bağlamak için doğrudan bağlantı_adresi kullanılabilir. bağlantı_adresi olarak boş bir adres veya "*" belirtilmesi uzak_soketin tüm arabirimlerden erişilebilir olması gerektiğini belirtir. bağlantı_adresi belirtilmesi sadece sunucunun GatewayPorts yönergesi etkinse başarılı olur (Bkz: ssh_config(5)).
uzak_port seçenekte ’0’ olarak belirtilmişse, sunucuda dinleme portu dinamik olarak tahsis edilir ve çalışma anında istemciye bildirilir. -O forward ile birlikte kullanılmışsa tahsis edilen port standart çıktıya da basılır.
- -S denetim_yolu
- Bağlantı paylaşımı için bir denetim soketinin konumu belirtilir. Bağlantı paylaşımını devre dışı bırakmak için “none” dizgesi belirtilmelidir. Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında ControlPath ve ControlMaster yönergesinin açıklamasına bakınız.
- -s
- Uzak konakta bir altsistemi çağırmak amacıyla kullanılabilir. Altsistemler, diğer uygulamaların (örn. sftp) güvenle taşınmasını sağlayan SSH protokolünün bir özelliğidir. Altsistem uzak komut olarak belirtilir. Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında SessionType yönergesinin açıklamasına bakınız.
- -T
- Sözde-uçbirim tahsisini iptal eder.
- -t
- Sözde-uçbirim tahsisini zorlar. Bu uzak konakta ekran tabanlı uygulamaların çalıştırılmasında kullanılabilir. Örnek olarak menü hizmetlerinin gerçekleştirilmesinde bu çok yararlı olabilir. Çok sayıda -t seçeneği ssh’nın yerel tty’si olmasa bile bir tty ayrılmasını sağlar.
- -V
- Sürüm numarasını gösterir ve çıkar.
- -v
- Ayrıntı kipi. ssh’nın çalışması esnasındaki hata ayıklama iletilerinin gösterilmesini sağlar. Bağlantı, kimlik denetimi ve yapılandırma sorunlarındaki hataları ayıklamada bu seçenek çok faydalıdır. Çok sayıda -v seçeneği ayrıntı seviyesini artırır. En fazla üç tane olabilir.
- -W konak:port
- İstemcideki standart giriş ve çıkışın güvenli kanal üzerinden belirtilen konakın belirtilen portuna yönlendirilmesini sağlar. Örtük olarak -N, -T, ExitOnForwardFailure ve ClearAllForwardings uygulanır, ancak bunlar yapılandırma dosyasında veya -o komut satırı seçenekleri kullanılarak geçersiz kılınabilir.
- -w yerel_tünel[:uzak_tünel]
- İstemci (yerel_tünel) ve sunucu
(uzak_tünel) arasında belirtilen TunnelDevice
aygıtlarıyla tünel aygıtı
yönlendirmesi sağlar.
Kullanılacak bir sonraki uygun tünel aygıtı sayısal kimliği veya “any” anahtar kelimesi ile belirtilebilir. uzak_tünel belirtilmezse, öntanımlı "any" (herhangi biri) değeri kullanılır. Ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında Tunnel ve TunnelDevice yönergesinin açıklamasına bakınız.
Tunnel yönergesi atanmazsa öntanımlı tünel kipi “point-to-point” (uçtan-uca) değeri kullanılır. Farklı bir Tunnel yönlendirme kipi kullanılacaksa, -w seçeneğinden önce belirtilmelidir.
- -X
- X11 yönlendirmesini etkinleştirir. Bu her konak için
ayrı ayrı yapılandırma dosyasında
belirtilebilir.
Bu seçenek etkinleştirilirken dikkat edilmelidir. Uzak sistemdeki dosya izinlerini atlayabilen kullanıcılar (kullanıcının X yetkilendirme veritabanı için) yönlendirilen bağlantılar sayesinde yerel X11 ekranına erişebilir. Saldırgan, tuş vuruşlarını izlenmek gibi etkinliklerde bulunabilir.
Bu sebeple, X11 yönlendirmesi, öntanımlı olarak, X11 GÜVENLİK eklentisinin sınırlamalarına tabidir. Ayrıntılı bilgi için -Y seçeneğine ve ssh_config(5) kılavuz sayfasında ForwardX11Trusted yönergesinin açıklamasına bakınız.
- -x
- X11 yönlendirmesini iptal eder.
- -Y
- Güvenilir X11 yönlendirmesini etkinleştirir. Güvenilir X11 yönlendirmeleri, X11 GÜVENLİK eklentisinin denetimlerine tabi değildir.
- -y
- Günlük bilgisi syslog(3) sistem modülü kullanılarak gönderilir. Öntanımlı olarak bu bilgi standart hataya gönderilmektedir.
ssh bunlara ek olarak her kullanıcının yapılandırma dosyasından ve sistem yapılandırma dosyasından yapılandırma verilerini alabilir. Dosya biçemi ve yapılandırma seçenekleri ssh_config(5) kılavuz sayfasında açıklanmıştır.
KİMLİK DOĞRULAMA¶
OpenSSH SSH istemcisi SSH 2 protokolünü destekler.
Kimlik doğrulama için kullanılabilen yöntemler şunlardır: GSSAPI tabanlı kimlik doğrulama, konak tabanlı kimlik doğrulama, genel anahtarlı kimlik doğrulama, klavye etkileşimli kimlik doğrulama ve parolalı kimlik doğrulama. Kimlik doğrulama yöntemleri yukarıda belirtilen sırayla denenir, ancak öntanımlı sırayı değiştirmek için PreferredAuthentications kullanılabilir.
Konak tabanlı kimlik doğrulama şu şekilde çalışır: Kullanıcının oturum açtığı makine uzak makinede /etc/hosts.equiv veya /etc/shosts.equiv içinde listeleniyorsa, kullanıcı root değilse ve kullanıcı adları her iki tarafta da aynıysa veya kullanıcının uzak makinedeki ev dizininde ~/.rhosts veya ~/.shosts dosyaları varsa ve istemci makinenin adı ile o makinedeki kullanıcının adını içeren bir satır içeriyorsa, kullanıcının oturum açabileceği varsayılır. Ek olarak, sunucu, oturum açmaya izin verebilmek için istemcinin konak anahtarını doğrulayabilmelidir (aşağıdaki /etc/ssh/ssh_known_hosts ve ~/.ssh/known_hosts açıklamasına bakın). Bu kimlik doğrulama yöntemi, IP sahtekarlığı, DNS sahtekarlığı ve yönlendirme sahtekarlığı ile ilgili güvenlik açıklarını kapatır. [Yöneticiye: /etc/hosts.equiv, ~/.rhosts ve genel olarak rlogin/rsh protokolü doğal olarak güvensizdir ve güvenlik isteniyorsa devre dışı bırakılmalıdır.]
Genel anahtarlı kimlik doğrulaması şu şekilde çalışır: Şema, şifreleme ve şifre çözmenin ayrı anahtarlar kullanılarak yapıldığı şifreleme sistemlerini kullanan genel anahtarlı şifrelemeye dayanır ve şifreleme anahtarından şifre çözme anahtarının türetilmesi mümkün değildir. Buradaki fikir, her kullanıcının kimlik doğrulama amacıyla bir genel/gizli anahtar çifti oluşturmasıdır. Sunucu genel anahtarı bilir, gizli anahtarı ise yalnızca kullanıcı bilir. ssh, DSA, ECDSA, Ed25519 veya RSA algoritmalarından birini kullanarak genel anahtarlı kimlik doğrulama protokolünü otomatik olarak uygular.
~/.ssh/authorized_keys dosyası, oturum açmaya izin verilen genel anahtarları listeler. Kullanıcı oturum açtığında, ssh sunucuya kimlik doğrulaması için hangi anahtar çiftini kullanmak istediğini söyler. İstemci özel anahtara erişimi olduğunu kanıtlar ve sunucu da ilgili genel anahtarın hesabı kabul etmeye yetkili olup olmadığına bakar.
Sunucu, farklı bir yöntemle kimlik doğrulamayı tamamlandıktan sonra, genel anahtarlı kimlik doğrulamasının başarılı olmasını engelleyen hataları istemciye bildirebilir. Bunlar, günlükleme seviyesini hata ayıklamaya veya daha yükseğe çıkararak (örneğin -v seçeneğini kullanarak) görüntülenebilir.
Kullanıcı anahtar çiftini ssh-keygen(1) çalıştırarak oluşturur. Uygulama gizli anahtarı kullanıcının ev dizininde ~/.ssh/id_dsa (DSA), ~/.ssh/id_ecdsa (ECDSA), ~/.ssh/id_ecdsa_sk (kimlik doğrulayıcı tarafından barındırılan ECDSA), ~/.ssh/id_ed25519 (Ed25519), ~/.ssh/id_ed25519_sk (kimlik doğrulayıcı tarafından barındırılan Ed25519) veya ~/.ssh/id_rsa (RSA) dosyasında, genel anahtarı ise ~/.ssh/id_dsa.pub (DSA), ~/.ssh/id_ecdsa.pub (ECDSA), ~/.ssh/id_ecdsa_sk.pub (kimlik doğrulayıcı tarafından barındırılan ECDSA), ~/.ssh/id_ed25519.pub (Ed25519), ~/.ssh/id_ed25519_sk.pub (kimlik doğrulayıcı tarafından barındırılan Ed25519) veya ~/.ssh/id_rsa.pub (RSA) dosyasında saklar. Bundan sonra kullanıcı genel anahtarını uzak makinedeki ev dizininde ~/.ssh/authorized_keys dosyasına kopyalamalıdır. authorized_keys dosyası geleneksel ~/.rhosts dosyasına karşılıktır ve satırlar çok uzun olabilse de her satırda bir anahtar içerir. Bunları yaptıktan sonra, kullanıcı parola belirtmeksizin oturum açabilir.
Genel anahtarlı kimlik doğrulamasının sertifika doğrulamalı bir çeşidi mevcuttur: Bir dizi genel/gizli anahtar yerine imzalı sertifikalar kullanılır. Bunun getirisi, birçok genel/gizli anahtar yerine tek bir güvenilir sertifika yetkilisinin kullanılabilmesidir. Daha fazla bilgi için ssh-keygen(1) sayfasında SERTİFİKALAR bölümüne bakın.
Genel anahtarlı veya sertifikalı kimlik doğrulamasını kullanmanın en uygun yolu, bir kimlik doğrulama aracısı kullanmaktır. Daha fazla bilgi için ssh-agent(1) ve (istenirse) ssh_config(5) içindeki AddKeysToAgent yönergesine bakın.
Klavye etkileşimli kimlik doğrulama şu şekilde çalışır: Sunucu, isteğe bağlı bir "meydan okuma" metni gönderir ve muhtemelen birden çok kez yanıt ister. Klavye etkileşimli kimlik doğrulama örnekleri arasında BSD Kimlik Doğrulaması (bkz. login.conf(5) ve PAM (OpenBSD dışında bazı sistemlerde) bulunur.
Son olarak, diğer kimlik doğrulama yöntemleri başarısız olursa, ssh kullanıcıdan parola ister. Parola, doğrulanması için uzak konağa gönderilir; ancak, tüm iletişimler şifreli olduğundan, ağda dinleyen biri tarafından bu parola görülemez.
ssh kullanılmış olan bütün konakları içeren veritabanını otomatik olarak oluşturur ve denetler. Konak anahtarları kullanıcının ev dizinindeki ~/.ssh/known_hosts dosyasında tutulur. Buna ek olarak bilinen konaklar için otomatik olarak /etc/ssh/ssh_known_hosts dosyasına da başvurulur. Yeni konaklar otomatik olarak kullacının dosyasına eklenir. Şayet bir konağın kimlik bilgileri değişirse, ssh bu konuda uyarır ve truva atlarının kullanıcının parolasını çalmasını engellemek için parolalı kimlik denetimini iptal eder. Bu mekanizmanın diğer bir amacı şifrelemeyi es geçebilen araya girme saldırılarına engel olmaktır. StrictHostKeyChecking seçeneği anahtarı bilinmeyen ya da değişmiş olan konaklarda oturum açmayı engellemek için kullanılabilir.
Kullanıcının kimliği sunucu tarafından kabul edildiğinde, sunucu ya verilen komutu etkileşimli olmayan bir oturumda yürütür ya da herhangi bir komut belirtilmemişse makinede oturum açar ve kullanıcıya etkileşimli bir oturum olarak normal bir kabuk verir. Uzak komut veya kabuk ile olan tüm iletişim otomatik olarak şifrelenir.
Etkileşimli bir oturum istenirse, ssh öntanımlı olarak, etkileşimli oturumlar için istemcide de varsa, yalnızca bir sözde uçbirim (pty) ister. -T ve -t seçenekleri bu davranışı geçersiz kılmak için kullanılabilir.
Sözde uçbirim tahsis edilmişse kullanıcı aşağıda bahsedilen önceleme karakterlerini kullanabilir.
Sözde uçbirim tahsis edilmemişse, oturum şeffaftır ve ikil verileri güvenilir bir şekilde aktarmak için kullanılabilir. Çoğu sistemde, önceleme karakterini "none" olarak ayarlamak, bir tty kullanılsa bile oturumu şeffaf hale getirir.
Uzak makinedeki komut veya kabuk çıkış yaptığında oturum sonlandırılır ve tüm X11 ve TCP bağlantıları kapatılır.
ÖNCELEME KARAKTERLERݶ
Sözde uçbirim istenmesi durumunda ssh birçok işlevi bir önceleme karakteri aracılığı ile destekler.
Tek bir yaklaşık işareti (tilde) ~~ şeklinde ya da yaklaşık işareti ile öncelenmiş aşağıda belirtilenler dışında bir karakterle gönderilebilir. Önceleme karakterinin önceleme karakteri olarak yorumlanabilmesi için karakterden hemen sonra bir satır sonu karakteri gelmelidir. Önceleme karakteri yapılandırma dosyasındaki EscapeChar yapılandırma seçeneği ile ya da komut satırında -e seçeneği ile değiştirilebilir.
Desteklenen öncelemler (öntanımlının ’~’ olduğu varsayımıyla) şunlardır:
- ~.
- Bağlantıyı kes.
- ~^Z
- ssh’ı artalanda çalıştır.
- ~#
- Yönlendirilen bağlantıları listele.
- ~&
- Oturumdan çıkış sırasında, yönlendirilen bağlantının ya da X11 oturumlarının sonlandırılmasını beklerken ssh’ı artalanda çalıştır.
- ~?
- Önceleme karakterlerinin listesini göster.
- ~B
- Uzak sisteme sonlandırma iletisi gönder (uzak sistem destekliyorsa).
- ~C
- Komut satırı aç. Şimdilik -L, -R ve -D seçeneklerini kullanarak port yönlendirmesi eklemeyi sağlar (yukarı bkz.) Ayrıca, yerel konak için -KL[bağlantı_adresi:]port ile, uzak konak için -KR[bağlantı_adresi:]port ile ve dinamik port yönlendirmeleri için -KD[bağlantı_adresi:]port ile mevcut port yönlendirmelerinin iptal edilmesini sağlar. ssh_config(5)’te PermitLocalCommand seçeneği etkinleştirilmişse, !komut ile kullanıcının yerel bir komutu yürütmesine izin verir. -h seçeneği ile temel yardım sağlanmıştır.
- ~R
- Bağlantı anahtarlarının yenilenmesini iste (uzak sistemin de desteklemesi durumunda).
- ~V
- Hatalar standart hataya yazılırken ayrıntı düzeyini (LogLevel) azalt.
- ~v
- Hatalar standart hataya yazılırken ayrıntı düzeyini (LogLevel) arttır.
TCP YÖNLENDİRMESݶ
Güvenli bir kanal üzerinden rastgele TCP bağlantılarının yönlendirilmesi, komut satırında veya bir yapılandırma dosyasında belirtilebilir. TCP yönlendirilmenin olası uygulamalarından biri, bir posta sunucusuna güvenli bir bağlantıyken bir diğeri güvenlik duvarlarından geçiştir.
Aşağıda, bağlandığı IRC sunucusu şifreli iletişimi doğrudan desteklemese de, bir IRC istemcisi ile iletişimin şifrelenmesi örneklenmiştir. Kullanıcı, bağlantıyı yönlendirmek için kullanılacak portları belirterek ssh ile uzak konağa bağlanmaktadır. Bundan sonra uygulama yerel olarak başlatıldığında ssh bağlantıyı şifreler ve uzak sunucuya yöneltir.
Aşağıdaki örnekte, 6667 numaralı standart IRC portu kullanılarak istemcideki IRC oturumu "server.example.com" adresindeki IRC sunucusuna tünellenmekte ve "#users" odasına "pinky" takma adıyla katılım sağlanmaktadır:
$ ssh -f -L 6667:localhost:6667 server.example.com sleep 10 $ irc -c ’#users’ pinky IRC/127.0.0.1
X11 YÖNLENDİRMESݶ
ForwardX11 yönergesine "yes" atanmışsa (yukarıdaki -X, -x ve -Y seçeneklerinin açıklamasına bakın) ve kullanıcı X11 kullanıyorsa (DISPLAY ortam değişkeni etkindir), X11 ekranına bağlantı, kabuktan (veya komuttan) başlatılan herhangi bir X11 uygulamasında olduğu gibi, yerel makineden uzak X sunucusuna yapılacak bağlantı üzerinden ve şifreli kanaldan geçerek otomatik olarak uzak tarafa iletilir. Kullanıcı, DISPLAY değişkenini elle ayarlamamalıdır. X11 bağlantılarının yönlendirilmesi, yapılandırma dosyalarında veya komut satırından yapılandırılabilir.
ssh tarafından belirlenen DISPLAY değeri sunucu makineyi, ancak sıfırdan büyük bir değerle gösterir. Bu normaldir ve ssh bağlantıları şifreli kanal üzerinden iletmek için sunucu makinesinde bir "vekil" X sunucusu oluşturduğu için bu böyledir.
ssh ayrıca sunucu makinesinde Xauthority verilerini otomatik olarak atayacaktır. Bu amaçla rastgele bir yetkilendirme çerezi oluşturacak, bunu sunucuda Xauthority’de saklayacak ve yönlendirilen her bağlantının bu çerezi taşıdığını doğrulayıp bağlantı açıldığında bunu gerçek çerez ile değiştirecektir. Gerçek kimlik doğrulama çerezi hiçbir zaman sunucu makinesine gönderilmez (hiçbir çerez açıkça gönderilmez).
ForwardAgent yönergesine "yes" atanmışsa (yukarıdaki -A ve -a seçeneklerinin açıklamasına bakın) ve kullanıcı bir kimlik doğrulama aracısı kullanıyorsa, aracıya olan bağlantı otomatik olarak uzak tarafa yönlendirilir.
KONAK ANAHTARLARININ DOĞRULANMASI¶
Bir sunucuya ilk kez bağlanırken, kullanıcıya sunucunun genel anahtarının parmak izi sunulur (StrictHostKeyChecking seçeneği devre dışı bırakılmamışsa). Parmak izleri ssh-keygen(1) kullanılarak belirlenebilir:
$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
Yalnızca parmak izi dizilerine bakarak konak anahtarlarını karşılaştırmanın zorluğu nedeniyle, konak anahtarlarını aş görseli oluşturarak görsel olarak karşılaştırma desteği de vardır. VisualHostKey yönergesine "yes" atayarak, oturumun kendisi etkileşimli olsun veya olmasın, bir sunucuya her girişte küçük bir ASCII görsel görüntülenir. Kullanıcı, sürekli kullandığı sunucunun ürettiği kalıbı öğrenerek, tamamen farklı bir kalıp görüntülendiğinde konak anahtarının değiştiğini kolayca anlayabilir. Bununla birlikte, bu modeller kesin olmadığından, hatırlanan modele benzeyen bir model, yalnızca konak anahtarının aynı olma olasılığını sağlar, garantili kanıt değildir.
Bilinen tüm konaklar için parmak izlerinin listesini aş görselleriyle birlikte almak için aşağıdaki komut satırı kullanılabilir:
$ ssh-keygen -lv -f ~/.ssh/known_hosts
Bu örnekte istemci “host.example.com” sunucusuna bağlanmaktadır. Önce host.example.com alan adı kayıtlarına SSHFP kaynak kayıtlarını eklemek gerekir:
$ ssh-keygen -r host.example.com.
$ dig -t SSHFP host.example.com
$ ssh -o "VerifyHostKeyDNS ask" host.example.com [...] Matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)?
[Konak anahtarı parmak izi DNS’deki ile eşleşti.]
[Bağlanmak istiyor musunuz (evet/hayır)?]
SSH TÜNELLERݶ
ssh, iki ağın güvenli bir şekilde birleştirilmesini sağlayan tun(4) sözde ağ aygıtını kullanarak Özel Sanal Ağ (VPN) tünelleme desteği vermektedir. ssh_config(5) yapılandırma yönergesi PermitTunnel ile sunucunun bunu destekleyip desteklemeyeceği ve hangi düzeyde (katman 2 veya 3 trafik) destekleyeceği belirlenebilir.
Aşağıdaki örnek yapılandırma ile SSH sunucusu, istemci ağı 10.0.50.0/24 ile uzak ağ 10.0.99.0/24 arasında, uzak ağa giden 192.168.1.15 ağ geçidi kullanarak, 10.1.1.1’den 10.1.1.2’ye noktadan noktaya bağlantı kurmaktadır.
İstemci üzerinde:
# ssh -f -w 0:1 192.168.1.15 true # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252 # route add 10.0.99.0/24 10.1.1.2
# ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252 # route add 10.0.50.0/24 10.1.1.1
tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... ali tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... veli
ORTAM DEĞİŞKENLERݶ
ssh normalde aşağıdaki ortam değişkenlerine atama yapar:
- DISPLAY
- DISPLAY değişkeni X11 sunucusunun konumunu gösterir. ssh bu değişkene otomatik olarak "konak:n" biçiminde değer atar. Burada konak kabuğun çalıştığı sistemi işaret ederken n de n ≥ 1 koşulunu sağlayan tamsayıya karşılık gelir. ssh bu özel değeri X11 bağlantılarını güvenli kanal üzerinden iletmede kullanır. Kullanıcı DISPLAY değişkenini doğrudan kendisi ayarlamamalıdır, çünkü bu X11 bağlantılarını güvensiz hale getirir (ve ayrıca kullanıcının gerekli olan yetkilendirme çerezlerini elle kopyalamasını da gerektirir).
- HOME
- Kullanıcının ev dizininin yolu bu değişkene atanır.
- LOGNAME
- USER değişkeni ile aynıdır; bu değişkeni kullanan sistemlerle uyumluluk için tanımlanır.
- Kullanıcının posta kutusunun yolu bu değişkene atanır.
- PATH
- ssh derlenirken belirtilen öntanımlı PATH’a ayarlanır.
- SSH_ASKPASS
- Şayet ssh bir anahtar parolası gerektiriyorsa, bunu mevcut uçbirimden okur (eğer uçbirimden çalıştırılıyorsa). Diğer taraftan ssh bir uçbirimden çalıştırılmıyor fakat DISPLAY ve SSH_ASKPASS değişkenleri ayarlanmış iseler, ssh, SSH_ASKPASS tarafından belirtilen uygulamayı çalıştırır ve anahtar parolasını okumak için bir X11 penceresi açar. Bu özellikle ssh bir .Xsession ya da ilgili betik tarafından çağırılıyorsa yararlıdır. (Burada dikkat edilmesi gereken konu, bu yöntemin çalışması için bazı sistemlerde girdilerin /dev/null’dan yönlendirilmesi gerektiğidir.)
- SSH_ASKPASS_REQUIRE
- Parola sorma uygulamasının kullanımı üzerinde daha fazla denetim sağlar. Bu değişkene “never” atanırsa ssh asla bu uygulamayı kullanmaya çalışmaz. Eğer “prefer” atanmışsa, ssh parola isterken TTY yerine bu uygulamayı kullanmayı tercih edecektir. Son olarak, değişkene "force" atanmışsa, DISPLAY ortam değişkeninin tanımlı olup olmadığına bakılmaksızın tüm parola girişleri için bu uygulama kullanılacaktır.
- SSH_AUTH_SOCK
- Ajanla iletişimde kullanılacak Unix-alan soketinin yolunu belirtir.
- SSH_CONNECTION
- Bağlantının kurulduğu istemci ve sunucuyu belirtir. Değişken boşluk ile birbirinden ayrılmış 4 değerden oluşur: istemci ip-adresi, istemci portu, sunucu ip-adresi ve sunucu portu.
- SSH_ORIGINAL_COMMAND
- Zorunlu bir komutun çalıştırılması durumunda özgün komut satırını içerir. Bu özgün girdileri çıkartmakta kullanılabilir.
- SSH_TTY
- Yürürlükteki kabuk ya da komutla ilişkili olan tty’nin adı (aygıt yolu) bu değişkene atanır. Yürürlükteki oturum tty’ye sahip değilse, bu değişkene bir atama yapılmaz.
- SSH_TUNNEL
- İsteğe bağlı olarak, istemci tarafından tünel iletme istendiğinde atanan arabirim adlarını içerecek şekilde sshd(8) tarafından tanımlanır.
- SSH_USER_AUTH
- İsteğe bağlı olarak sshd(8) tarafından tanımlanan bu değişken, kullanılan tüm genel anahtarlar da dahil olmak üzere, oturum kurulduğunda başarıyla kullanılan kimlik doğrulama yöntemlerini listeleyen bir dosyanın yolunu içerebilir.
- TZ
- Zaman Dilimi değişkeni; şayet artalan süreci başlatıldığında tanımlanmışsa geçerli zaman dilimi bu değişkene atanmıştır (Yani, artalan süreci yeni bağlantılara bu değeri aktarır).
- USER
- Oturum açan kullanıcının adı bu değişkene atanır.
Ayrıca ssh, $HOME/.ssh/environment dosyasını okur ve eğer bu dosya mevcut ise ve de kullanıcılar değişkenlerini değiştirme hakkına sahip iseler "DEĞİŞKEN=değer" biçimindeki satırları ortama ekler. Daha fazla bilgi için, sshd_config(5)’deki PermitUserEnvironment (Kullanıcı Ortamına İzin Ver) seçeneğine bakınız.
İLGİLİ DOSYALAR¶
- $HOME/.rhosts
- Bu dosya konak tabanlı kimlik kanıtlama için kullanılır (yukarı bkz.). Bazı makinalarda bu dosyanın erişim haklarının herkes tarafından okunacak şekilde düzenlenmiş olması gerekmektedir (şayet kullanıcının ana dizini NFS bölümünde ise; çünkü sshd(8) bu dosyayı root olarak okur). Ayrıca bu dosyanın sahibi kullanıcı olmalı ve hiçbir kimsenin bu dosyaya yazma hakkı bulunmamalıdır. Birçok makina için tavsiye edilen erişim yetkileri, kullanıcı için okuma/yazma hakkı ve diğerleri için ise erişimin olmamasıdır.
- $HOME/.shosts
- Aynı .rhosts’un kullanıldığı şekilde kullanılır, ancak rlogin/rsh ile oturum açmaya izin vermeden konak tabanlı kimlik doğrulaması sağlar.
- $HOME/.ssh/
- Bu dizin, kullanıcıya özel tüm yapılandırma ve kimlik doğrulama bilgileri için öntanımlı konumdur. Bu dizinin tüm içeriğini gizli tutmak için genel bir gereklilik yoktur, ancak önerilen izinler kullanıcı için okuma/yazma/yürütme olup ve başkaları tarafından erişilememelidir.
- $HOME/.ssh/authorized_keys
- Ev dizini sahibinin oturum açması için kullanılan genel anahtarları (DSA, ECDSA, Ed25519, RSA) listeler. Dosya biçemi sshd(8) kılavuz sayfasında açıklanmaktadır. Bu hassas bir dosya değildir, ancak tavsiye edilen izinler: Kullanıcı için okuma/yazma izni ve diğer kullanıcılar için ise erişim izni olmamasıdır.
- $HOME/.ssh/config
- Kullanıcıya özel yapılandırma dosyası. Dosyanın biçemi ve yapılandırma seçenekleri ssh_config(5)’de açıklanmaktadır. Kötüye kullanım olasılığı nedeniyle, bu dosyanın katı izinlere sahip olması gerekir: Kullanıcı için okuma/yazma izni ve başkaları için yazma yasağı.
- $HOME/.ssh/environment
- Ortam değişkenlerinin ek tanımlarını içerir. Yukarıda ORTAM DEĞİŞKENLERİ bölümüne bakınız.
- $HOME/.ssh/id_dsa
$HOME/.ssh/id_ecdsa
$HOME/.ssh/id_ecdsa_sk
$HOME/.ssh/id_ed25519
$HOME/.ssh/id_ed25519_sk
$HOME/.ssh/id_rsa - Kimlik kanıtlamasında kullanılan gizli anahtarı içerir. Bunlar hassas dosyalardır ve kullanıcı okuyabilmeli ama başka hiç kimse erişememelidir (okuma/yazma/yürütme). Başkaları tarafından okunabilien bir gizli anahtarı ssh basitçe yoksayar. AES-128 kullanarak bu dosyanın hassas bölümünü şifrelemek için kullanılacak anahtarı üretirken bir anahtar parolası belirtmek mümkündür.
- $HOME/.ssh/id_dsa.pub
$HOME/.ssh/id_ecdsa.pub
$HOME/.ssh/id_ecdsa_sk.pub
$HOME/.ssh/id_ed25519.pub
$HOME/.ssh/id_ed25519_sk.pub
$HOME/.ssh/id_rsa.pub - Kimlik kanıtlamasında kullanılan genel anahtarı içerir. Bunlar hassas dosyalar değildir ve herkes okuyabilirse de bu gerekli değildir.
- $HOME/.ssh/known_hosts
- Kullanıcının oturum açtığı, /etc/ssh/ssh_known_hosts dosyasında kayıtlı olmayan bütün konakların anahtarlarını içerir. Dosya biçemi hakkında ayrıntılı bilgi için sshd(8) kılavuz sayfasına bakınız.
- $HOME/.ssh/rc
- Bu dosyadaki komutlar kullanıcı oturum açtığında kullanıcının kabuğu (ya da komut) çalıştırılmadan hemen önce ssh tarafından çalıştırılır. Daha ayrıntılı bilgi için sshd(8) kılavuz sayfasına bakınız.
- /etc/hosts.equiv
- Bu dosya konağa dayalı kimlik kanıtlaması içindir (yukarıya bakınız). Sadece sistem yöneticisi (root) tarafından yazılabilir olmalıdır.
- /etc/shosts.equiv
- Aynı /etc/hosts.equiv gibi işlem görür. Konağa dayalı kimlik kanıtlamasıyla erişimin sağlandığı ancak rsh/rlogin’in kullanılmaması gerektiği durumlarda faydalıdır.
- /etc/ssh/ssh_config
- Sistem yapılandırma dosyası. Dosyanın biçemi ve yapılandırma seçenekleri ssh_config(5)’de açıklanmaktadır.
- /etc/ssh/ssh_host_key
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_rsa_key - Bu dosyalar konağın gizli anahtarlarını içerir ve konağa dayalı kimlik kanıtlamasında kullanılır.
- /etc/ssh/ssh_known_hosts
- Bilinen konakların anahtarlarını listeleyen sistem dosyası. Bu dosya sistem yöneticisi tarafından hazırlanmalı ve erişilen bütün konakların genel konak anahtarları dosyaya eklenmelidir. Dosya izinleri herkes tarafından okunabilecek şekilde ayarlanmalıdır. Dosya biçemi hakkında ayrıntılı bilgi için sshd(8) kılavuz sayfasına bakınız.
- /etc/ssh/sshrc
- Bu dosyadaki komutlar kullanıcı oturum açtığında kullanıcının kabuğu (ya da komut) çalıştırılmadan hemen önce ssh tarafından çalıştırılır. Daha ayrıntılı bilgi için sshd(8) kılavuz sayfasına bakınız.
ÇIKIŞ DURUMU¶
ssh uzak komutun çıkış durumu ile ya da hata olmuş ise 255 ile sonlanır.
İLGİLİ BELGELER¶
scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1), tun(4), ssh_config(5), ssh-keysign(8), sshd(8).
STANDARTLAR¶
S. Lehtinen ve C. Lonvick, Atanmış Güvenli Kabuk (SSH) Protokol Numaraları
T. Ylonen ve C. Lonvick, Güvenli Kabuk (SSH) Protokol Mimarisi, RFC 4251, Ocak 2006.
T. Ylonen ve C. Lonvick, Güvenli Kabuk (SSH) Kimlik Kanıtlama Protokolü, RFC 4252, Ocak 2006.
T. Ylonen ve C. Lonvick, Güvenli Kabuk (SSH) Aktarım Katmanı Protokolü, RFC 4253, Ocak 2006.
T. Ylonen ve C. Lonvick, Güvenli Kabuk (SSH) Bağlantı Protokolü, RFC 4254, Ocak 2006.
J. Schlyter ve W. Griffin, Güvenli Kabuk (SSH) Anahtar parmak İzlerini Güvenilir olarak Yayınlamak için DNS Kullanımı, RFC 4255, Ocak 2006.
F. Cusack ve M. Forssen, Güvenli Kabuk (SSH) Protokolü için Genel İleti Değişimi Kimlik Doğrulaması, RFC 4256, Ocak 2006.
J. Galbraith ve P. Remaker, Güvenli Kabuk (SSH) Oturumu Kanal Kesme Eklentisi, RFC 4335, Ocak 2006.
M. Bellare, T. Kohno ve C. Namprempre, Güvenli Kabuk (SSH) Aktarım Katmanı Şifreleme Kipleri, RFC 4344, Ocak 2006.
B. Harris, Güvenli Kabuk (SSH) Aktarım Katmanı Protokolü için Geliştirilmiş Arcfour Kipleri, RFC 4345, Ocak 2006.
M. Friedl, N. Provos ve W. Simpson, Güvenli Kabuk (SSH) Aktarım Katmanı Protokolü için Diffie-Hellman Grup Değişimi, RFC 4419, Mart 2006.
J. Galbraith ve R. Thayer, Güvenli Kabuk (SSH) Genel Anahtar Dosyası Biçemi, RFC 4716, Kasım 2006.
D. Stebila ve J. Green, Güvenli Kabuk Aktarım Katmanının Eliptik Eğri Algoritması ile Bütünlenmesi, RFC 5656, Aralık 2009.
A. Perrig ve D. Song, Aş Görselleştirme: Gerçek Dünya Güvenliğini Geliştirmek İçin Yeni Bir Teknik, 1999, Uluslararası Kriptografik Teknikler ve E-Ticaret Çalıştayı (CrypTEC ’99).
YAZARLAR¶
OpenSSH, Tatu Ylonen’in özgün ve özgür ssh 1.2.12 sürümünün bir türevidir. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt ve Dug Song birçok yazılım hatasını ortadan kaldırmışlar, yeni özellikler eklemişler ve OpenSSH’ı oluşturmuşlardır. Markus Friedl SSH protokolünün 1.5 ve 2.0 sürümü desteği için katkıda bulunmuştur.
ÇEVİREN¶
© 2004 Emin İslam Tatlı
© 2022 Nilgün Belma Bugüner
Bu çeviri özgür yazılımdır:
Yasaların izin verdiği ölçüde
HİÇBİR GARANTİ YOKTUR.
Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri
yapmak için https://github.com/TLBP/manpages-tr/issues adresinde
"New Issue" düğmesine tıklayıp yeni
bir konu açınız ve isteğinizi belirtiniz.
23 Şubat 2022 | openssh 9.0p1 |