lanı görür. 2015 yılında Microsoft, gelecekteki bir sürümde SSH'ye yerel destek vereceğini duyurdu.

SSH, Telnet ve güvenli olmayan uzak kabuk protokolleri olan Berkeley rlogin, rsh ve rexec gibi protokollerin yerini almak için tasarlanmıştır. Bu protokoller, özellikle parolaları, düz metin olarak göndererek, paket analizine karşı savunmasız bırakıyor. SSH tarafından kullanılan şifreleme, Internet gibi güvenli olmayan bir ağ üzerinden verilerin gizliliğini ve bütünlüğünü sağlamaya yöneliktir, ancak Edward Snowden tarafından sızdırılan dosyalar, Ulusal Güvenlik Ajansı'nın bazen SSH şifresini çözerek SSH oturumlarının içeriğini okuyabildiğini gösterir.

6 Temmuz 2017'de, hükümet şeffaflık organizasyonu WikiLeaks ABD Merkezi İstihbarat Teşkilatının,  SSH kullanıcıları tarafından güvenli olmayan sistemler üzerinde başlatılan SSH bağlantılarını yakalamak için Microsoft Windows veya GNU/Linux işletim sistemlerini çalıştıran bilgisayarlara kurulabilecek araçlar geliştirdiğini doğruladı.

SSH, uzak bilgisayarın ve gerektiğinde kullanıcının kimliğini doğrulamasına izin vermek için açık anahtarlı şifreleme kullanır. SSH'yi kullanmanın birkaç yolu vardır; bir tanesi, bir ağ bağlantısını basitçe şifrelemek için otomatik olarak oluşturulan özel-genel anahtar çiftlerini kullanmak ve sonra oturum açmak için parola kimlik doğrulaması kullanmaktır. 

Bir diğeri, kimlik doğrulama işlemini gerçekleştirmek için, kullanıcı veya programların bir parola belirtmek zorunda kalmadan oturum açmasına izin veren, el ile oluşturulmuş bir ortak-özel anahtar çifti kullanmaktır. Bu senaryoda, herkes farklı bir anahtar (açık ve gizli) çifti oluşturabilir. Açık anahtar, eşleşen gizli anahtarın sahibine erişmesi gereken tüm bilgisayarlara yerleştirilir (sahip gizli anahtarını saklı tutar). Kimlik doğrulama özel anahtara dayalıyken, kimlik doğrulama sırasında anahtarın kendisi ağ üzerinden aktarılmaz. SSH, yalnızca ortak anahtarı sunan kişinin eşleşen özel anahtara sahip olup olmadığını doğrular. SSH'nin tüm sürümlerinde, bilinmeyen açık anahtarların doğrulanması önemlidir, yani açık anahtarları geçerli olarak kabul etmeden önce kimlikle ilişkilendirmek gerekir. Bir saldırganın açık anahtarını doğrulama olmadan kabul etmek, yetkisiz bir saldırganı geçerli bir kullanıcı olarak yetkilendirir.

Unix benzeri sistemlerde, yetkilendirilmiş açık anahtarların listesi genellikle  ~/.ssh/authorized_keys dosyasında, uzaktan oturum açmasına izin verilen kullanıcının giriş dizininde saklanır. 
Bu dosya, sahibi ve tüm yetkili kullanıcıdan başka bir şey tarafından yazılabilir değil ise sadece SSH tarafından değiştirilebilir. Uzak uçta açık anahtar varsa ve yerel uçta eşleşen gizli anahtar varsa, parolayı yazmanız artık gerekmemektedir (Message-Passing Interface (MPI) yığını gibi bazı yazılımların düzgün çalışması için bu parolasız erişim gerekebilir). 
Ancak, ek güvenlik için gizli anahtarın kendisi bir şifre ile kilitlenebilir.

Gizli anahtar standart yerlerde de aranabilir ve tam yolu bir komut satırı ayarı olarak belirlenebilir (ssh için "-i" seçeneği). Ssh-keygen yardımcı programı, her zaman çiftler halinde açık ve gizli anahtarlar üretir.

SSH, ayrıca otomatik olarak oluşturulan anahtarlar tarafından şifrelenen parola tabanlı kimlik doğrulamayı da destekler. Bu durumda, saldırgan meşru sunucu tarafını taklit edebilir, parola isteyebilir ve parolayı elde edebilir (man-in-the-middle saldırısı). Ancak, bu durum sadece, iki tarafın daha önce hiç birbirlerinin kimliklerini doğrulamadığında SSH'nin daha önce kullanılan sunucu tarafının anahtarını hatırladığı için mümkündür. 
SSH istemcisi, önceden bilinmeyen yeni bir sunucunun anahtarını kabul etmeden önce bir uyarı verir. Parola kimlik doğrulaması kapatılabilir.

 SSH genellikle uzak makineye giriş yapmak ve komutları çalıştırmak için kullanılır, ayrıca tünel açma, TCP portlarını ve X11 bağlantılarını yi de destekler; SSH dosya transferi (SFTP) veya güvenli kopyalama (SCP) protokolleri kullanarak dosyaları aktarabilir. SSH istemci-sunucu modelini kullanır.

SSH sunucularına bağlanmak için atanmış standart TCP port numarası 22 dir.

SSH istemci programı, genellikle uzak bağlantıları kabul eden SSH arka plan uygulamasına bağlantı kurmak için kullanılır. 
Her ikisi de MacOS, Linux'un çoğu dağıtımı, OpenBSD, FreeBSD, NetBSD, Solaris ve OpenVMS gibi çoğu modern işletim sistemlerinde yaygın olarak bulunur. Özellikle, Windows varsayılan olarak SSH içermeyen birkaç modern masaüstü / sunucu işletim sistemlerinden biridir. Sahipli, ücretsiz ve açık kaynaklı (örneğin PuTTY, ve Cygwin'in bir parçası olan OpenSSH sürümü) çeşitli karmaşıklıkta ve bütünlükte sürümleri mevcuttur. Yerli Linux dosya yöneticileri (örneğin Konqueror) sürükle-bırak özelliğine sahip bölmeli bir grafik arayüzü sağlamak için protokolünü kullanabilir. Açık kaynak kodlu bir Windows programı WinSCP arka plan olarak PuTTY kullanarak benzer dosya yönetimi (senkronizasyon, kopyalama, uzaktan silme) özelliği sağlar. Hem WinSCP hem de PuTTY, istemci makineye kurulum gerektirmeksizin, doğrudan bir USB sürücüsünden çalışacak şekilde paketlenmiştir. Windows'ta bir SSH sunucusu çalıştırabilmek için genellikle kurulum yapmak gerekir (örneğin Cygwin üzerinden). Windows 10 sürüm 1709'da, OpenSSH'nin resmi bir Win32 bağlantı noktası bulunur.

SSH, bulut bilişimde bağlantı sorunlarını çözmek, bulut tabanlı sanal bir makineyi doğrudan internette göstermenin güvenlik sorunlarından kaçınmak için önemlidir. 
Bir SSH tüneli, bir güvenlik duvarından sanal bir makineye Internet üzerinden güvenli bir yol sağlayabilir.

1995 yılında Finlandiya Helsinki Teknoloji Üniversitesi'nden araştırmacı Tatu Ylönen, kampüs ağında bir parola koklama saldırısı nedeniyle protokölün (şimdiki adı SSH-1) ilk versiyonunu tasarladı. SSH'nin amacı, güçlü kimlik doğrulaması sağlamayan ve gizliliği garanti etmeyen, rlogin, TELNET, ftp ve rsh protokollerinin yerini almaktı. Ylönen, uygulamasını Temmuz 1995'te ücretsiz olarak yayınladı ve araç hızla popülerlik kazandı. 1995'in sonuna doğru SSH kullanıcı tabanı elli ülkede 20.000 kullanıcıya ulaştı.

Aralık 1995'te Ylönen, SSH'ı pazarlamak ve geliştirmek için SSH Communications Security şirketini kurdu. SSH yazılımının orijinal sürümü, GNU libgmp gibi çeşitli ücretsiz yazılımlar kullandı, fakat daha sonra SSH Communications Security tarafından yayınlanan sürümlerle birlikte patentli bir yazılım halini aldı.

2000 yılına kadar kullanıcı sayısının 2 milyona ulaştığı tahmin edilmektedir.

"Secsh" SSH protokolünün 2. versiyonundan sorumlu olan İnternet Mühendisliği Görev Gücü (IETF) adlı çalışma grubunun resmi adıydı. 2006 yılında, protokolün revize edilmiş versiyonu olan SSH-2, standart olarak kabul edildi. Bu versiyon SSH-1 ile uyumlu değildi. SSH-2'de SSH-1'e göre hem güvenlik ham de yeni özellik iyileştirmeleri mevcuttur. Daha iyi güvenlik, örneğin, Diffie–Hellman anahtar değişimi ve mesaj doğrulama kodları üzerinden güçlü bütünlük denetimi ile sağlanır. 
SSH-2'nin yeni özellikleri arasında, tek bir SSH bağlantısı üzerinden herhangi bir sayıda oturumunu çalıştırma yeteneğini sayılabilir. SSH-2'nin üstünlüğü ve popülerliği nedeniyle, Lsh ve Dropbear gibi uygulamalar sadece SSH-2'ye destek vermektedirler.

Ocak 2006'da, 2.1 sürümü oluşturulduktan sonra, RFC 4253, hem 2.0 hem de daha önceki versiyonları destekleyen SSH sunucularının versiyon 1.99 olarak adlandırılması gerektiğini belirtmiştir. Bu gerçek bir sürüm değildir, fakat geriye dönük uyumluluk tanımlayan bir yöntemdir.

1999 yılında, ücretsiz bir yazılım sürümü sunmak isteyen geliştiriciler, açık kaynak lisansı ile yayınlanmış en son sürüm olan 1.2.12 sürümüne geri döndüler. Björn Grönvall'ın OSSH'si daha sonra bu kod tabanından geliştirildi. Kısa bir süre sonra, OpenBSD geliştiricileri Grönvall'ın kodunu çatalladılar ve OpenBSD'nin 2.6 sürümü ile birlikte gelen OpenSSH'yi yaratarak kapsamlı bir çalışma yaptılar. Bu versiyondan, OpenSSH'yi diğer işletim sistemlerine bağlamak için bir "taşınabilirlik" dalı oluşturuldu.

2005 itibarıyla, OpenSSH, çok sayıda işletim sisteminde varsayılan olarak gelen en popüler SSH uygulamasıydı. OSSH bu arada demode oldu. 7.6 sürümüyle birlikte SSH-1 desteğini çeken OpenSSH, SSH-2 protokolünü geliştirmeye ve desteklemeye devam ediyor.

SSH, çoğu Unix varyantı (Linux, Apple'ın macOS ve Solaris dahil BSD'leri) ve Microsoft Windows gibi pek çok platformda kullanılabilen bir protokoldür. Aşağıdaki uygulamalardan bazıları yalnızca belirli SSH istemcileri veya sunucuları ile kullanılabilen ya da uyumlu olan özellikler gerektirebilir. Örneğin, VPN yazmak için SSH protokolü kullanmak mümkündür, ama sadece OpenSSH sunucu ve istemci uygulamasıyla.


Secure Shell protokolleri birçok dosya aktarım mekanizmasında kullanılır.


SSH-2 protokolü iyi ayrılmış katmanlara sahip bir iç mimariye (tanımlanan RFC 4251'de tanımlanmıştır) sahiptir:


Bu açık mimari, SSH'nin güvenli bir kabuğun ötesinde çeşitli amaçlarla kullanılmasına izin veren önemli bir esneklik sağlar. Taşıma katmanının işlevselliği tek başına Taşıma Katmanı Güvenliği (TLS) ile karşılaştırılabilir; kullanıcı kimlik doğrulama katmanı özel kimlik doğrulama yöntemleri ile büyük ölçüde genişletilebilir; ve BEEP'te olan ve TLS'de geçerli olmayan bir özellik olarak bağlantı katmanı, birçok ikincil oturumu tek bir SSH bağlantısına çoğaltabilir.

Bunlar SSH ürünlerinin performans geliştirmeleri için tasarlanmıştır:


1998'de, SSH 1.5 sürümünde, protokolün bu sürümünde kullanılan CRC-32'den kaynaklı yetersiz veri bütünlüğü koruması nedeniyle, şifrelenmiş bir SSH akışına yetkisiz olarak içerik sokulmasına izin veren bir güvenlik açığı tarif edilmiştir. Çoğu uygulamada SSH Compensation Attack Detector olarak bilinen bir düzeltme tanıtıldı. Bu güncellenmiş uygulamaların birçoğu, saldırganın root izni ile herhangi kodu çalıştırabilmesine izin veren yeni bir zaafiyeti içeriyordu.

Ocak 2001'de, saldırganların IDEA şifreli bir oturumun son bloğunu değiştirmesine izin veren bir güvenlik açığı keşfedildi. Aynı ay, kötü amaçlı bir sunuc