SSH(1) | Kullanıcı Komutları | SSH(1) |
ssh - OpenSSH uzak oturum açma istemcisi
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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:
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
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.
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, 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
ssh normalde aşağıdaki ortam değişkenlerine atama yapar:
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.
ssh uzak komutun çıkış durumu ile ya da hata olmuş ise 255 ile sonlanır.
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).
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).
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.
© 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 |