Visual Studio Kodunda Uzak SSH Bağlantılarını Yapılandırma


Visual Studio Code, hem geliştiricilere hem de sistem yöneticilerine fayda sağlayabilecek, zengin özelliklere sahip ve çok yönlü bir metin düzenleyicisidir. PowerShell betiklerinizi, yapılandırma dosyalarınızı düzenlemek ve konsol komutlarını çalıştırmak için VS Code'u kullanabilirsiniz. Uzak SSH uzantısı, uzak bilgisayarlara SSH aracılığıyla bağlanmanıza ve dosyaları, komut dosyalarını, yapılandırmaları düzenlemenize veya uzak Windows veya Linux ana bilgisayarlarında doğrudan bilgisayarınızda yüklü olan VS Code'dan komut yürütmenize olanak tanır.

Uzak ana bilgisayarlara bağlanmak için bir Visual Studio Code SSH istemcisini nasıl yapılandıracağınız aşağıda açıklanmıştır.

VS Code'u çalıştırın ve Uzantılar'a gidin (

Ctrl + Shift + X 

). Şimdi Uzak SSH uzantısını bulun ve kurun.

Bu, aşağıdaki Uzak SSH eklentilerini otomatik olarak yükler: Yapılandırma Dosyalarını Düzenleme ve Uzak Gezgin (Uzantı Paketi sekmesi).

Yeni bir SSH bağlantısı oluşturmak için VSCode'un sol panelinde Remote Explorer'ı seçin. Bağlantı sihirbazı sizden şunları girmenizi isteyecektir:

  • SSH bağlantı dizesi:

    [email 
  • bu bağlantı için ayarları içeren yapılandırma dosyasının yolu (varsayılan olarak,

    C:\Users\%username%\.ssh\config

    ).

tuşuna basarak da yeni bir bağlantı oluşturabilirsiniz.

CTRL + SHIFT + P

ve Uzak SSH: Ana Bilgisayara Bağlan'ı seçin.

Bu yapıldıktan sonra, artık uzaktaki ana bilgisayara SSH aracılığıyla bağlanabilirsiniz. Listeden barındırıcıyı seçin ve Bağlan'ı tıklayın.

İlk kez bağlandığınızda, VSCode sizden uzak SSH ana bilgisayarındaki (Linux/Windows/macOS) platform türünü ve bağlantı parolasını ister:

Uzak SSH ana bilgisayarına bağlandıktan sonra, herhangi bir metin dosyasını doğrudan VSCode düzenleyicisinden düzenleyebilir ve sanki bir SSH istemcisi aracılığıyla bağlanmışsınız gibi kabuk komutlarını yürütebilirsiniz (bir konsol istemi açmak için Terminal -> Yeni Terminal'e tıklayın).

Kök olmayan bir kullanıcı tarafından düzenlenemeyen bir dosyayı VSCode'a kaydetmeye çalışırsanız (olmadan

sudo

), aşağıdaki hatayı alırsınız::

Failed to save 'sshd_config': Unable to write file 'vscode-remote://ssh-remote+192.168.79.128/etc/ssh/sshd_config' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/etc/ssh/sshd_config').

Bu sorunun bir çözümü, VSCode uzantısını Uzakta Kök Olarak Kaydet - SSH kullanmaktır. Bu uzantı yüklendikten sonra, Kök Olarak Kaydet komutunu kullanarak dosyayı sudo modunda kaydedebilirsiniz.

Uzak SSH'de hem parola hem de SSH anahtarı tabanlı kimlik doğrulama desteklenir.

Uzak bir Windows ana bilgisayarında SSH anahtarı tabanlı kimlik doğrulamayı yapılandırmayı deneyelim:

  1. İstemcide bir SSH anahtar çifti oluşturun:

    ssh-keygen -t ed25519

    Bu örnekte, yerleşik SSH istemcisine sahip Windows 10 kullanılmıştır.

  2. Ortak anahtar dosyasını kopyalayın

    C:\Users\%username%\.ssh\id_ed25519

    dosyaya

    C:\Users\user1\.ssh\authorized_keys

    uzak ana makinenizde (burada user1, bağlanacağınız kullanıcı adıdır);

  3. Windows'ta OpenSSH sunucusu yapılandırma dosyasında aşağıdaki seçeneğin etkinleştirildiğinden emin olun:

    PubkeyAuthentication yes
  4. Şimdi C dosyasını açın.

    :\Users\%username%\.ssh\config

    SSH ana bilgisayarları için VSCode bağlantı ayarlarını içerir. Ana bilgisayarı bulun ve özel anahtar dosyanızın yolu ile birlikte IdentityFile parametresini ekleyin:

Host 192.168.31.4
  HostName 192.168.31.4
  User root
  IdentityFile "C:\Users\user1\.ssh\id_ed25519"

Yapılandırma dosyasını açmanın hızlı bir yolu,

F1

-> Uzak SSH: SSH Yapılandırma Dosyasını Aç.

Artık SSH ana bilgisayarına bağlantı, anahtar tabanlı kimlik doğrulama ile yapılacaktır (şifre gerekmez).

SSH tünellerini ve port yönlendirmeyi yapılandırmak için LocalForward yönergesini kullanabilirsiniz. Veya kullanmak isteyebilirsiniz

ForwardAgent

Ve

ProxyJump

bunun yerine direktifler:

Host PublicJumpServer1
  HostName public.a-d.site
  User user1
  ForwardAgent yes

Host PrivateServer1
  HostName private.contoso.com
  User user1
  ProxyJump PublicJumpServer1

Ayrıca VS Code ile MS SQL Server'a bağlanıp geliştirebilirsiniz.

İlgili makaleler