Bu makale Visual Studio Code SSH Bağlantısının nasıl yapıldığı ile ilgili ayrıntılı bir bilgi vermektedir. Makaleyi inceleyerek Visual Studio Code’da SSH bağlantılarını yapılandırarak kolay ve güvenli erişim sağlayabilirsiniz.
Visual Studio Code, hem geliştiriciler hem de sistem yöneticileri için oldukça özellikli ve çok yönlü bir metin düzenleyicidir. Visual Studio Code’u PowerShell komut dosyalarınızı düzenlemek, yapılandırma dosyalarınızı düzenlemek ve konsol komutlarını çalıştırmak için kullanabilirsiniz.
Visual Studio Code SSH uzantısı, bilgisayarınıza yüklü olan Visual Studio Code üzerinden doğrudan Windows veya Linux sunucusu üzerinde SSH bağlantısı kurmanıza ve dosyaları düzenlemenize, komutları çalıştırmanıza olanak tanır.
Visual Studio Code SSH Bağlantısı
İşte bir Visual Studio Code SSH istemcisini sunucunuza bağlamak için yapmanız gereken adımlar:
- Visual Studio Code’u çalıştırın ve Uzantılar‘a gidin (Ctrl + Shift + X). Şimdi Remote SSH uzantısını bulun ve yükleyin.
- Bu, otomatik olarak Remote SSH ek paketindeki Düzenleme Yapılandırma Dosyaları ve Remote Explorer eklentilerini yükler.
- Sol paneldeki Remote Explorer’i seçerek yeni bir SSH bağlantısı oluşturun. Bağlantı sihirbazı, aşağıdakileri girmenizi isteyecektir:
- SSH bağlantı dizesi: [email protected]
- Bu bağlantı için yapılandırma dosyasındaki ayarları içeren yol (varsayılan olarak C:\Users%username%.ssh\config)
- Ayrıca CTRL + SHIFT + P tuşlarına basarak ve Remote-SSH: Connect to Host‘u seçerek yeni bir bağlantı oluşturabilirsiniz.
Bağlantı yapılandırıldıktan sonra, artık SSH aracılığıyla sunucunuza bağlanabilirsiniz. Listeden sunucunuzu seçin ve Bağlan‘a tıklayın.
İlk kez bağlandığınızda, Visual Studio Code Remote SSH sunucu platform türünü (Linux/Windows/macOS) ve bağlantı şifresini belirlemenizi isteyecektir.
Remote SSH ana bilgisayarına bağlandığınızda, Visual Studio Code düzenleyicisinden herhangi bir metin dosyasını doğrudan düzenleyebilir ve bir SSH istemci aracılığıyla bağlıymış gibi kabuk komutlarını çalıştırabilirsiniz (konsol açmak için Terminal -> Yeni Terminal’e tıklayın).
VSCode’da düzenlenemeyen ve non-root kullanıcısı tarafından (sudo olmadan) kaydedilemeyen bir dosyayı kaydetmeye çalışırsanız, şu hatayı alırsınız: ‘Sshd_config’ kaydedilemedi: ‘/etc/ssh/sshd_config’ (NoPermissions (FileSystemError): Error: EACCES: permission denied)
Bu sorunun çözümü için Save as Root in Remote – SSH Visual Studio Code uzantısını kullanabilirsiniz. Bu uzantı yüklendikten sonra, Sudo modunda dosyayı kaydetmek için Save as Root (Root Olarak Kaydet) komutunu kullanabilirsiniz.
Remote SSH’de hem şifre hem de SSH anahtar tabanlı kimlik doğrulama desteklenir.
Şimdi bir Windows sunucusuna SSH anahtar tabanlı kimlik doğrulamasını yapılandırmayı deneyelim:
- İstemci tarafında bir SSH anahtar çifti oluşturun:
ssh-keygen -t ed25519
Bu örnekte, Windows 10’da yerleşik bir SSH istemcisi kullanılmaktadır. - C:\Users%username%.ssh\id_ed25519 dosyasındaki genel anahtar dosyasını, uzak ana bilgisayarınızda C:\Users\user1.ssh\authorized_keys dosyasına kopyalayın (burada, user1, bağlanacağınız kullanıcı adıdır).
- Windows’taki OpenSSH sunucu yapılandırma dosyasında aşağıdaki seçeneğin etkinleştirildiğinden emin olun:
PubkeyAuthentication yes
- Şimdi C:\Users%username%.ssh\config dosyasını açın, bu dosya SSH ana bilgisayarları için Visual Studio Code bağlantı ayarlarını içerir. Ana bilgisayarı bulun ve IdentityFile parametresini özel anahtar dosyanızın yolunu ekleyin:
Host 192.168.31.4 HostName 192.168.31.4 User root IdentityFile "C:\Users\user1\.ssh\id_ed25519"
Artık SSH anahtar tabanlı kimlik doğrulaması ile SSH ana bilgisayara bağlanacaksınız (şifre gerekmez).
İlgili: Yazılımcılar İçin En İyi Kod Editörleri
Ayrıca, SSH tünellerini ve bağlantı noktası yönlendirmelerini yapılandırmak için LocalForward yönergesini kullanabilirsiniz. Veya ForwardAgent ve ProxyJump yönergelerini kullanmak isteyebilirsiniz:
Host 192.168.31.4 HostName 192.168.31.4 User root IdentityFile "C:\Users\user1\.ssh\id_ed25519"
Visual Studio Code SSH bağlantıları, Visual Studio Code’un gelişmiş özellikleriyle birleşerek uzaktaki bilgisayarlarınıza kolay ve güvenli bir şekilde erişmenizi sağlar. Bu sayede geliştirme ve sistem yönetimi işlerinizi daha verimli bir şekilde gerçekleştirebilirsiniz.