Provided by: manpages-tr_2.0.6-2_all 

İ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
-f seçeneği ile ssh artalana alınmakta, “sleep 10” uzak komutu ile tünel, kullanacak uygulamanın
başlatılması için (örnekte 10 saniye) geciktirilmektedir. Belirtilen sürede bir bağlantı gerçekleşmezse
ssh çıkacaktır.
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
Parmak izi zaten biliniyorsa, eşleştirilebilir, anahtar kabul veya red edilebilir. Sunucu için yalnızca
eski sürüm (MD5) parmak izleri mevcutsa, parmak izi algoritmasını eşleşecek şekilde sürüm düşürmek için
ssh-keygen(1) -E seçeneği kullanılabilir.
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
Parmak izi bilinmiyorsa, başka bir doğrulama yöntemi kullanılabilir: "DNS doğrulamalı SSH parmak izleri".
Alan adı kayıtlarına SSHFP adlı bir kaynak kaydı (RR) eklenerek bağlanan istemci bilinen parmak izini
sunulan anahtarınkiyle karşılaştırabilir.
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.
Bu komutun çıktı satırları alan adı kayıtlarına eklenecektir. DNS sunucusunun parmak izi sorgularını
yanıtlayıp yanıtlamadığını anlamak için:
$ dig -t SSHFP host.example.com
komutu kullanılabilir. Artık istemci bağlantı kurabilir:
$ 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)?]
Daha ayrıntılı bilgi için ssh_config(5) kılavuz sayfasında VerifyHostKeyDNS yönergesinin açıklamasına
bakılabilir.
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
Sunucu üzerinde:
# 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
İstemci erişimi, /root/.ssh/authorized_keys dosyası (aşağıya bakın) ve PermitRootLogin sunucu yönergesi
aracılığıyla daha hassas bir şekilde ayarlanabilir. PermitRootLogin yönergesine “forced-commands-only”
[yalnızca zorunlu komutlar] değeri atanmışsa, aşağıdaki girdi tun(4) aygıtı 1’deki "ali" kullanıcısı ile
tun(4) aygıtı 2’deki "veli" kullanıcısı arasında bağlantılara izin verir:
tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... ali
tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... veli
SSH tabanlı kurulumun getirdiği ek yük oldukça makul olduğundan, kablosuz VPN’ler gibi geçici kurulumlar
için daha uygun olabilir. Daha kalıcı ve daha iyi VPN’ler, ipsecctl(8) ve isakmpd(8) gibi araçlarla
sağlanabilir.
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.
MAIL
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.
openssh 9.0p1 23 Şubat 2022 SSH(1)