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

-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.
Yasal Uyarı
 * Özgün Belgenin Lisans ve Telif Hakkı bilgileri:
 *
 * Author: Tatu Ylonen <ylo@cs.hut.fi>
 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
 *                    All rights reserved
 *
 * As far as I am concerned, the code I have written for this software
 * can be used freely for any purpose.  Any derived versions of this
 * software must be clearly marked as such, and if the derived work is
 * incompatible with the protocol description in the RFC file, it must be
 * called by a name other than "ssh" or "Secure Shell".
 *
 * Copyright (c) 1999,2000 Markus Friedl.  All rights reserved.
 * Copyright (c) 1999 Aaron Campbell.  All rights reserved.
 * Copyright (c) 1999 Theo de Raadt.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.