Sửa lỗi VS Code Remote SSH: Could not establish connection to remote host. An SSH installation couldn't be found.

beginner💻 VS Code2026-03-18| VS Code 1.70+ với extension Remote - SSH trên Windows 10/11, macOS, Linux

Error Message

Could not establish connection to remote host. An SSH installation couldn't be found.
#vscode#remote-ssh#connection#ssh

Lỗi gặp phải

Bạn mở VS Code, nhấp vào một SSH host đã lưu trong Remote Explorer, và gặp phải lỗi sau:

Could not establish connection to remote host. An SSH installation couldn't be found.

Không có stack trace. Không có gợi ý nào. Cửa sổ kết nối đóng lại và bạn nhìn chằm chằm vào một editor trống rỗng.

Nguyên nhân thực sự

Remote - SSH không đi kèm SSH client riêng. Extension này phụ thuộc vào file nhị phân ssh đã có sẵn trên máy của bạn — cụ thể là file có thể truy cập qua biến PATH của hệ thống. Khi VS Code không tìm thấy file nhị phân đó (hoặc nhận được PATH khác với terminal của bạn), bạn sẽ gặp lỗi này.

Các nguyên nhân thường gặp:

  • Trên Windows: Tính năng tùy chọn OpenSSH Client chưa được bật
  • Trên Windows: Git for Windows đi kèm SSH riêng, nhưng không nằm trong PATH mà VS Code kiểm tra
  • Trên macOS/Linux: SSH đã được cài nhưng đường dẫn thực thi không nằm trong PATH môi trường của VS Code
  • Cài đặt remote.SSH.path trong VS Code đang trỏ đến đường dẫn không còn tồn tại

Chẩn đoán nhanh

Trước khi thay đổi bất kỳ cài đặt nào, hãy xác nhận SSH có thực sự tồn tại trên hệ thống. Mở terminal hệ thống hoặc PowerShell — không phải terminal tích hợp của VS Code:

ssh -V

Nhận được kết quả như OpenSSH_8.9p1, LibreSSL 3.3.6? SSH đã được cài đặt. VS Code chỉ đơn giản là không tìm thấy nó.Nhận được command not found hoặc không có gì? SSH chưa được cài đặt. Bắt đầu với các bước cài đặt bên dưới.

Sửa lỗi trên Windows

Cách 1: Bật OpenSSH Client (Khuyến nghị)

Windows 10 và 11 đi kèm OpenSSH như một tính năng tùy chọn tích hợp sẵn — nhưng mặc định nó bị tắt. Bật nó từ PowerShell (chạy với quyền Administrator):

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Thích dùng giao diện đồ họa? Vào Settings → Apps → Optional Features → Add a feature → OpenSSH Client → Install.

Dù theo cách nào, hãy xác nhận đã thành công:

ssh -V
# Kết quả mong đợi: OpenSSH_for_Windows_8.x, LibreSSL x.x.x

Sau bước này, hãy khởi động lại VS Code hoàn toàn — không chỉ đóng cửa sổ, mà còn cần tắt nó từ khay hệ thống. Lỗi sẽ biến mất.

Cách 2: Trỏ VS Code đến SSH của Git

Git for Windows đi kèm SSH tại C:\Program Files\Git\usr\bin\ssh.exe. VS Code sẽ không tự tìm thấy nó, nhưng bạn có thể chỉ định chính xác nơi cần tìm.

Mở cài đặt (Ctrl+,), tìm kiếm remote.SSH.path, và dán đường dẫn vào đó. Hoặc chỉnh sửa trực tiếp file settings.json:

{
  "remote.SSH.path": "C:\\Program Files\\Git\\usr\\bin\\ssh.exe"
}

Cách 3: Thêm SSH vào PATH thủ công

OpenSSH cài đặt vào C:\Windows\System32\OpenSSH\ theo mặc định, nhưng thư mục đó đôi khi bị bỏ sót khỏi PATH. Sửa bằng PowerShell (với quyền Administrator):

[System.Environment]::SetEnvironmentVariable(
  'Path',
  $env:Path + ';C:\Windows\System32\OpenSSH',
  [System.EnvironmentVariableTarget]::Machine
)

Khởi động lại VS Code sau bước này.

Sửa lỗi trên macOS

macOS có SSH tích hợp sẵn tại /usr/bin/ssh, nhưng VS Code có thể nhận được PATH bị rút gọn không bao gồm nó — đặc biệt nếu bạn mở VS Code từ Dock thay vì terminal.

Bước 1: Tìm vị trí SSH

which ssh
# Thường là: /usr/bin/ssh

Bước 2: Cố định đường dẫn trong cài đặt VS Code

{
  "remote.SSH.path": "/usr/bin/ssh"
}

Đang dùng OpenSSH được cài qua Homebrew? Đường dẫn sẽ khác:

which ssh
# /opt/homebrew/bin/ssh  (Apple Silicon)
# /usr/local/bin/ssh     (Intel Mac)

Dùng đúng kết quả mà which ssh trả về — đừng đoán.

Sửa lỗi trên Linux

Gói client thường bị thiếu trên các bản cài đặt server tối giản hoặc container mới tạo. Cài đặt bằng trình quản lý gói:

# Debian/Ubuntu
sudo apt update && sudo apt install openssh-client

# Fedora/RHEL
sudo dnf install openssh-clients

# Arch
sudo pacman -S openssh

Xác nhận đã hoạt động:

which ssh && ssh -V

Kiểm tra cài đặt xung đột

Một mục remote.SSH.path cũ là nguyên nhân âm thầm gây ra lỗi này. Nếu bạn đặt đường dẫn tùy chỉnh từ nhiều tháng trước và file nhị phân đó đã bị di chuyển hoặc xóa, VS Code sẽ âm thầm thất bại ở đây.

Mở settings.json và tìm dòng này:

// Xóa hoặc cập nhật nếu đường dẫn sai
"remote.SSH.path": "/old/path/to/ssh"  // <-- xóa dòng này nếu SSH đã có trong PATH

Xóa cài đặt này hoàn toàn cho phép VS Code tự động nhận diện SSH từ PATH.

Kiểm tra lại sau khi sửa

  • Đóng tất cả cửa sổ VS Code hoàn toàn (bao gồm cả cửa sổ remote)
  • Mở lại VS Code
  • Mở Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  • Chạy Remote-SSH: Connect to Host...
  • Chọn host của bạn

Thông báo tiến trình kết nối sẽ xuất hiện và cửa sổ remote sẽ mở thành công. Muốn xác nhận chính xác file nhị phân SSH nào mà VS Code đã chọn? Mở panel Output (Ctrl+Shift+U), chọn Remote - SSH từ danh sách thả xuống, và tìm dòng:

[info] SSH executable: /usr/bin/ssh

Vẫn chưa sửa được?

Đã thử tất cả các bước trên nhưng vẫn gặp lỗi? Một số điều khác đáng kiểm tra thêm:

  • Cài lại extension Remote - SSH: Gỡ cài đặt từ panel Extensions, tải lại VS Code, rồi cài lại. Trạng thái extension bị hỏng gây ra lỗi này thường xuyên hơn bạn nghĩ.
  • Kiểm tra phiên bản VS Code: Remote - SSH yêu cầu VS Code 1.35 trở lên. Chạy code --version — phiên bản cũ hơn sẽ không hoạt động bất kể trạng thái SSH.
  • Tạm thời vô hiệu hóa các extension khác: Client VPN và extension proxy đôi khi can thiệp vào quá trình phân giải đường dẫn SSH. Thử vô hiệu hóa tất cả trừ Remote - SSH và kiểm tra lại.
  • Đọc log thô: Panel Output → Remote - SSH hiển thị chính xác các đường dẫn được tìm kiếm trong quá trình kết nối. Log đó thường chỉ thẳng vào vấn đề thực sự.

Related Error Notes