zed icon indicating copy to clipboard operation
zed copied to clipboard

Windows: Git SSH passphrase modal not shown when remote is RedHat

Open gaevoc opened this issue 1 month ago • 5 comments

Summary

Git passphrase modal textbox doesn't popup when the remote is a RedHat based distribution (including Almalinux and Rocky Linux)

Description

Zed is installed on a Windows 11 machine. In WSL I have several distributions, specifically one Ubuntu 24.04 and 3 RedHat "oriented" distributions: RedHat 8.10, AlmaLinux 9 and Rocky Linux 10. On each of these distributions one repo is cloned from a Git server which is accessed via encrypted SSH key pair. Any Git command issued from the Zed GUI that involves the Git remote should make the passphrase modal appear for password request. This works only on Ubuntu and doesn't on any of the RedHat distros.

Steps to reproduce:

  1. Take a Windows 11 PC and install WSL
  2. Install any RedHat distro or clone in WSL
  3. Clone in the Linux distro a Git repo which is accessed via SSH encrypted key pair
  4. Open the WSL remote from Zed and try to Pull/Fetch/Push

Expected Behavior: The modal dialog asking for the passphrase for the configured key should appear Actual Behavior: The modal doesn't pop up and the Git command fails after a while. See logs below

Zed Version and System Specs

Zed: v0.212.5 (Zed) OS: Windows 10.0.26100 Memory: 15.5 GiB Architecture: x86_64 GPU: Intel(R) Graphics || Intel Corporation || 32.0.101.6987

If applicable, attach your Zed.log file to this issue.

Zed.log
2025-11-14T10:27:01+01:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "Intel(R) Graphics", driver_name: "Intel Corporation", driver_info: "32.0.101.6987" }
2025-11-14T10:27:01+01:00 ERROR [agent] Failed to authenticate provider: Amazon Bedrock: Impossibile trovare elemento. (0x80070490)
2025-11-14T10:27:09+01:00 ERROR [crates/gpui/src/window.rs:1124] window not found
2025-11-14T10:27:10+01:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "Intel(R) Graphics", driver_name: "Intel Corporation", driver_info: "32.0.101.6987" }
2025-11-14T10:27:10+01:00 WARN  [zed::zed] Failed to store active gpu info for crash reporting: Connessione in corso interrotta forzatamente dall'host remoto. (os error 10054)
2025-11-14T10:27:11+01:00 ERROR [agent] Failed to authenticate provider: Amazon Bedrock: Impossibile trovare elemento. (0x80070490)
2025-11-14T10:27:21+01:00 ERROR [crates/gpui/src/window.rs:1124] window not found
2025-11-14T10:27:27+01:00 WARN  [fs] Failed to watch /etc/ssh/ssh_config and its parent directory /etc/ssh:
Input watch path is neither a file nor a directory.
Input watch path is neither a file nor a directory.
2025-11-14T10:27:29+01:00 INFO  [remote::transport::wsl] Connecting to WSL distro RHEL-8 with user None
2025-11-14T10:27:30+01:00 INFO  [remote::transport::wsl] Remote shell discovered: /bin/bash
2025-11-14T10:27:31+01:00 INFO  [remote::transport::wsl] Remote can exec: true
2025-11-14T10:27:32+01:00 INFO  [remote::transport::wsl] Remote platform discovered: /bin/bash
2025-11-14T10:27:34+01:00 INFO  [auto_update] downloading zed-remote-server linux x86_64 version 0.212.5
2025-11-14T10:27:40+01:00 INFO  [remote::transport::wsl] uploading remote server to WSL ".zed_wsl_server/zed-remote-server-stable-0.212.5.35192.gz" (28552kb)
2025-11-14T10:27:42+01:00 INFO  [remote::transport::wsl] uploaded remote server in 1.8985806s
2025-11-14T10:27:45+01:00 INFO  [remote_server::unix] (remote server) starting up. pid_file: "/home/user/.local/share/zed/server_state/workspace-21/server.pid", stdin_socket: "/home/user/.local/share/zed/server_state/workspace-21/stdin.sock", stdout_socket: "/home/user/.local/share/zed/server_state/workspace-21/stdout.sock", stderr_socket: "/home/user/.local/share/zed/server_state/workspace-21/stderr.sock"
2025-11-14T10:27:45+01:00 INFO  [crashes] (remote server) spawning crash handler process
2025-11-14T10:27:45+01:00 INFO  [remote_server::unix] (remote server) gpui app started, initializing server
2025-11-14T10:27:45+01:00 INFO  [remote_server::unix] (remote server) accepting new connections
2025-11-14T10:27:45+01:00 ERROR [remote::remote_client] client:unhandled ssh message name:UpdateProject
2025-11-14T10:27:45+01:00 INFO  [crashes] (remote server) connected to crash handler process after 100ms
2025-11-14T10:27:45+01:00 INFO  [crashes] (remote server) crash handler registered
2025-11-14T10:27:45+01:00 INFO  [util] (remote server) set environment variables from shell:/bin/bash, path:/home/user/.local/bin:/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/java8path:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files/PuTTY/:/mnt/c/Users/user/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/user/AppData/Local/Programs/Zed/bin
2025-11-14T10:27:45+01:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "Intel(R) Graphics", driver_name: "Intel Corporation", driver_info: "32.0.101.6987" }
2025-11-14T10:27:45+01:00 WARN  [zed::zed] Failed to store active gpu info for crash reporting: Connessione in corso interrotta forzatamente dall'host remoto. (os error 10054)
2025-11-14T10:27:45+01:00 INFO  [gpui::platform::windows::directx_renderer] Updating monochrome_sprite_pipeline buffer size from 1024 to 8192
2025-11-14T10:27:45+01:00 INFO  [alacritty_terminal::tty::windows::conpty] Using conpty.dll for pseudoconsole
2025-11-14T10:27:45+01:00 INFO  [remote_server::unix] (remote server) Got new node settings: NodeBinarySettings { path: None, npm_path: None, ignore_system_version: false }
2025-11-14T10:27:46+01:00 ERROR [agent] Failed to authenticate provider: Amazon Bedrock: Impossibile trovare elemento. (0x80070490)
2025-11-14T10:27:46+01:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: bash-language-server
2025-11-14T10:27:47+01:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: vscode-html-language-server
2025-11-14T10:27:47+01:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: perlnavigator-server
2025-11-14T10:28:23+01:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Pull, error:Connecting to host timed out
2025-11-14T10:28:23+01:00 ERROR [git_ui::git_panel] Error while pulling sending pull request

Caused by:
    RPC request Pull failed: Connecting to host timed out
2025-11-14T10:38:03+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T10:38:03+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T10:44:01+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T10:44:01+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T11:23:34+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T11:23:35+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T11:27:35+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T11:27:36+01:00 INFO  [gpui::platform::windows::events] System settings changed: ImmersiveColorSet
2025-11-14T11:37:39+01:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "Intel(R) Graphics", driver_name: "Intel Corporation", driver_info: "32.0.101.6987" }
2025-11-14T11:37:39+01:00 WARN  [zed::zed] Failed to store active gpu info for crash reporting: Connessione in corso interrotta forzatamente dall'host remoto. (os error 10054)
2025-11-14T11:37:40+01:00 ERROR [agent] Failed to authenticate provider: Amazon Bedrock: Impossibile trovare elemento. (0x80070490)


gaevoc avatar Nov 14 '25 10:11 gaevoc

Before setting up Windows WSL SSH Agent Forwarding, I was failing to properly sync fetch/pull:

2025-11-20T12:50:10-06:00 ERROR [agent] Failed to authenticate provider: Amazon Bedrock: Element not found. (0x80070490)
2025-11-20T12:50:15-06:00 ERROR [remote::remote_client] Reconnect attempt 1 failed: Timed out resyncing remote client. Starting new attempt...
2025-11-20T12:50:15-06:00 INFO  [remote::remote_client] setting state to 'reconnecting'
2025-11-20T12:50:15-06:00 INFO  [remote::remote_client] Trying to reconnect to ssh server... Attempt 2
2025-11-20T12:50:16-06:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Pull, error:[email protected]: Permission denied (publickey). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-20T12:50:16-06:00 ERROR [git_ui::git_panel] Error while pulling sending pull request

Caused by:
    RPC request Pull failed: [email protected]: Permission denied (publickey). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-20T12:50:20-06:00 ERROR [remote::remote_client] Reconnect attempt 2 failed: Timed out resyncing remote client. Starting new attempt...
2025-11-20T12:50:20-06:00 INFO  [remote::remote_client] setting state to 'reconnecting'
2025-11-20T12:50:20-06:00 INFO  [remote::remote_client] Trying to reconnect to ssh server... Attempt 3
2025-11-20T12:50:25-06:00 ERROR [remote::remote_client] Reconnect attempt 3 failed: Timed out resyncing remote client. Starting new attempt...
2025-11-20T12:50:25-06:00 ERROR [remote::remote_client] Failed to reconnect to after 3 attempts, giving up
2025-11-20T12:50:25-06:00 INFO  [remote::remote_client] setting state to 'reconnect exhausted'
2025-11-20T12:52:36-06:00 INFO  [sqlez::migrations] Found 18 foreign key relationships to check
2025-11-20T12:52:42-06:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Fetch, error:[email protected]: Permission denied (publickey). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-20T12:52:42-06:00 ERROR [git_ui::git_panel] Error while fetching sending fetch request

Caused by:
    RPC request Fetch failed: [email protected]: Permission denied (publickey). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.

I was not receiving the timeout issue like you were above, but I did replicate your steps as described to get the failed to sync issue:

Steps to reproduce:

  1. Take a Windows 11 PC and install WSL [Already had WSL installed]
  2. Install any RedHat distro or clone in WSL [wsl --install -d AlmaLinux-9]
  3. Clone in the Linux distro a Git repo which is accessed via SSH encrypted key pair [ssh-keygen -t ed25519 -f ~/.ssh/zed-passphrase-test -C "thunderdome-redhat" && ssh-add ~/.ssh/zed-passphrase-test && git clone [email protected]:athola/simple-resume.git]
  4. Open the WSL remote from Zed and try to Pull/Fetch/Push [when doing fetch or pull here, received git failed to fetch/push toast, and resulted in the above log with Permission denied (publickey)]

The first thing to try is enabling askpass and adding of agent keys to sshconfig. In the case that fails, I also have steps to forward SSH keys through Windows WSL Agent Forwarding, which I can post here. In submitting a PR, I have one ready with instructions, but I'm not sure if it's fully needed per CONTRIBUTING guidelines.

Attempt askpass Configuration

Apply this configuration as a potential solution before attempting the detailed step-by-step process below:

  • [REDHAT WSL] Set askpass and ensure keys are added on first use:
    echo 'export SSH_ASKPASS_REQUIRE=prefer' >> ~/.bashrc
    echo "AddKeysToAgent yes" >> ~/.ssh/config
    source ~/.bashrc
    

If the above does not work on certain RedHat WSL distributions, such as AlmaLinux, you will need to proceed with the detailed checklist below to allow WSL to use the Windows ssh-agent for authentication.

Windows Synced WSL ssh-agent Forwarding Checklist

The following checklist can be used to capture any evidence produced while attempting to work through the Windows ssh-agent to AlmaLinux WSL forwarding procedure to properly allow Zed Git to fetch/pull/push sync.

NOTE: This approach is secure against CVE-2023-38408 as it uses local Windows to WSL socket bridging rather than vulnerable SSH agent forwarding across network boundaries

Required artifacts

Windows host

  • [ ] %USERPROFILE%\Desktop\windows-ssh-host.txt (timestamped result of ssh -T [email protected] via elevated Powershell).
  • [ ] %USERPROFILE%\Desktop\windows-ssh-agent.txt (output of ssh-add -l via elevated Powershell after loading the key).
  • [ ] %USERPROFILE%\Desktop\zed-host-fetch.log (tail of %APPDATA%\Zed\logs\Zed.log captured after a successful Zed Git Fetch/Pull).

WSL (AlmaLinux-9)

  • [ ] $HOME/.ssh/agent-forward.log (stdout/stderr from the socat + npiperelay bridge started via .bashrc).
  • [ ] /tmp/ssh-agent-forward.log (combined output from ssh -T [email protected]).
  • [ ] /tmp/zed-remote-fetch.log (tail of ~/.local/share/zed/logs/server-workspace-*.log).

Zed verification

  • [ ] Confirmation note or screenshot that the Git panel Fetch/Pull succeeded.
  • [ ] Timestamp of the verification.

Step-by-step instructions

Note that all powershell commands are to be executed in an elevated prompt of Powershell.

  1. Verify/prepare Windows SSH key
    • [WINDOWS] List existing SSH keys:
      Get-ChildItem $env:USERPROFILE\.ssh
      
    • [WINDOWS] Ensure the GitHub-trusted key (e.g., zed-passphrase-test) exists; if missing, create it with ssh-keygen -t ed25519 -C "user@zed" -f $env:USERPROFILE\.ssh\id_ed25519 -N "" and add the .pub key to https://github.com/settings/keys. In this case, we just created an ed25519 key named id_ed25519, but you can name it what you wish for testing, such as zed-passphrase-test
    • [WINDOWS] Test GitHub auth:
      ssh -T [email protected]
      
    • [WINDOWS] Append the timestamped success line to %USERPROFILE%\Desktop\windows-ssh-host.txt.
  2. Keep the key loaded in the Windows ssh-agent
    • [WINDOWS] Enable/start the agent:
      Get-Service ssh-agent | Set-Service -StartupType Automatic
      Start-Service ssh-agent
      
      Optionally, start with empty PKCS#11 allowlist as a security measure:
      Stop-Service ssh-agent
      ssh-agent -P ''
      Start-Service ssh-agent
      
    • [WINDOWS] Add the SSH key (replace name with name of your key created above):
      ssh-add $env:USERPROFILE\.ssh\zed-passphrase-test
      
    • [WINDOWS] Record fingerprints:
      ssh-add -l | Tee-Object -FilePath %USERPROFILE%\Desktop\windows-ssh-agent.txt
      
    • [WINDOWS] Launch Zed from the same elevated PowerShell session such that it inherits SSH_AUTH_SOCK:
      & "$env:LOCALAPPDATA\Programs\Zed\Zed.exe"
      
    (NOTE: Zed may be in a slightly different directory than what is listed here, use the location of Zed.exe on your Windows system)
  3. Forward the agent socket into AlmaLinux WSL
    • [REDHAT WSL] Install socat and unzip inside WSL Linux prompt and create directories: sudo dnf install -y socat unzip && mkdir -p ~/bin ~/.ssh.
    • [REDHAT WSL] Download npiperelay, which allows us to access Windows named pipes from WSL:
      cd /tmp && curl -LO https://github.com/jstarks/npiperelay/releases/download/v0.1.0/npiperelay_windows_amd64.zip
      
      Verify SHA256 hash of package before unzipping:
      # SHA256: a5b7c8d9e2f1a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8
      sha256sum npiperelay_windows_amd64.zip
      
      Unzip into ~/bin/ (NOTE: you can also just install this on windows and place it in C:\Users\user\bin\)
      unzip -o npiperelay_windows_amd64.zip -d /mnt/c/Users/user/bin
      chmod +x /mnt/c/Users/user/bin/npiperelay.exe
      
    • [REDHAT WSL] Append to ~/.bashrc:
      export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
      rm -f "$SSH_AUTH_SOCK"
      mkdir -p ~/.ssh
      chmod 700 ~/.ssh
      setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/Users/user/bin/npiperelay.exe -ep -s //./pipe/openssh-ssh-agent",nofork &> $HOME/.ssh/agent-forward.log &
      
    • [REDHAT WSL] Source the shell: source ~/.bashrc, then verify:
      ssh-add -l
      ssh -T [email protected] | tee /tmp/ssh-agent-forward.log
      chmod 600 ~/.ssh/agent.sock
      ls -la ~/.ssh/agent.sock  # Should show rw------- owner
      
  4. Validate Zed remote Git now works without error toasts
    • [ZED] Reconnect to the AlmaLinux remote from Zed’s Remote panel.
    • [ZED] Trigger Fetch or Pull in the Zed Git panel; confirm success.
    • Capture logs: On Windows host:
      Get-Content $env:APPDATA\Zed\logs\Zed.log -Tail 400 > $env:USERPROFILE\Desktop\zed-host-fetch.log
      
      On AlmaLinux WSL remote host:
      tail -n 400 ~/.local/share/zed/logs/server-workspace-5.log > /tmp/zed-remote-fetch.log
      
  5. Attach artifacts
    • Provide the files listed above along with any notes/screenshots in the issue/PR so reviewers can confirm the end-to-end verification.

athola avatar Nov 20 '25 22:11 athola

Thanks @athola for your detailed comment and instructions. Does this explain the evidence that Git works perfectly with Ubuntu and not with RedHat distributions? Does Ubuntu natively manage the SSH agent socket forward?

gaevoc avatar Nov 21 '25 10:11 gaevoc

On Ubuntu it looks like GUI askpass works and reverts to tty if GUI askpass is unsuccessful. This is potentially due to WSLg integration, which doesn't appear to be enabled on RedHat WSL distros.

One note here is that RedHat-based WSL distributions, such as AlmaLinux, ship their OpenSSH builds that are configured at build time to require a graphical askpass helper (like ssh-askpass or gnome-ssh-askpass) only if both the DISPLAY and SSH_ASKPASS environment variables are set and the process is not attached to a tty.

When attached to a tty, it will prompt for a password or passphrase directly in the terminal. Without a tty, if the process is not tied to a terminal, it will check the env to see if both DISPLAY and SSH_ASKPASS are set. If they are, it will attempt to run the program specified by SSH_ASKPASS to pop an X11 window to provide the passphrase. However, if either variable is not set, it will reject the input request, leading to "No such file or directory" or potentially "Passphrase denied" as we were seeing here.

Ubuntu on the other hand has a permissive askpass configuration which allows GUI prompts without DISPLAY being set. Thus, you're getting the passphrase prompt passed through to Zed's UI.

There seem to be some potential packages which perform a similar operation to enable the graphical prompt. I would need to do some further research to see if something like gnome-keyring would work in this case to set DISPLAY/SSH_ASKPASS.

athola avatar Nov 21 '25 16:11 athola

The scenario you describe sounds definitely assumable and explains all the evidence I have experienced till now. My grateful appreciation for your interest in this case. I can quickly install some packages to see if they work, just some trial and error.

gaevoc avatar Nov 21 '25 23:11 gaevoc

Hi, I decided to perform some more tests on this topic using three VMs. Basically, given what Alex (@athola ) describes, the idea is to test the same scenario avoiding the potential impact of WSL and connecting to the remote via SSH.

  • Rocky Linux 8 console only (rocky8c)
  • Rocky Linux 8 with full graphical environment (rocky8)
  • Rocky Linux 9 with full graphical environment (rocky9)

All the VMs

  • have the same SSH config file
  • have the same encrypted private/public key pair
  • have the same Git repo cloned from the same server via the keys above
  • are installed with stock packages from official installation repos

Git repo is hosted on a RHEL 8.

Case 1.1

  • Zed on Windows
  • Remote on rocky8c

Result: Failure Passphrase modal dialog is not shown, leading to an error. Zed log shows

2025-11-23T16:39:15+01:00 ERROR [git_ui::git_panel] Error while fetching sending fetch request

Caused by:
    RPC request Fetch failed: Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T16:39:15+01:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Fetch, error:Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T16:39:20+01:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "Intel(R) Graphics", driver_name: "Intel Corporation", driver_info: "32.0.101.6987" }

Case 1.2

  • Zed on Windows
  • Remote on rocky8

Result: Failure Passphrase modal dialog is not shown, leading to an error. Zed log shows

2025-11-23T16:44:20+01:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: bash-language-server
2025-11-23T16:44:21+01:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: vscode-html-language-server
2025-11-23T16:44:21+01:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: perlnavigator-server
2025-11-23T16:44:26+01:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Fetch, error:Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T16:44:26+01:00 ERROR [git_ui::git_panel] Error while fetching sending fetch request

Caused by:
    RPC request Fetch failed: Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T16:44:33+01:00 INFO  [zed::zed] Using GPU: GpuSpecs { is_software_emulated: false, device_name: "Intel(R) Graphics", driver_name: "Intel Corporation", driver_info: "32.0.101.6987" }
2025-11-23T16:44:33+01:00 ERROR [agent] Failed to authenticate provider: Amazon Bedrock: Impossibile trovare elemento. (0x80070490)

Case 1.3

  • Zed on Windows
  • Remote on rocky9

Result: Success Passphrase modal dialog is shown and Pull/Fetch operation are correctly executed

Case 2.1

  • Zed on MacOS
  • Remote on rocky8c

Result: Failure Passphrase modal dialog is not shown, leading to an error. Zed log shows

2025-11-23T16:21:54+01:00 INFO  [remote_server::unix] (remote server) Got new node settings: NodeBinarySettings { path: None, npm_path: None, ignore_system_version: false }
2025-11-23T16:21:54+01:00 ERROR [crates/git_ui/src/git_panel.rs:2583] entity released
2025-11-23T16:21:59+01:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Fetch, error:Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T16:21:59+01:00 ERROR [git_ui::git_panel] Error while fetching sending fetch request

Caused by:
    RPC request Fetch failed: Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T16:22:11+01:00 INFO  [sqlez::migrations] Found 16 foreign key relationships to check

Case 2.2

  • Zed on MacOS
  • Remote on rocky8

Result: Failure Passphrase modal dialog is not shown, leading to an error. Zed log shows

2025-11-23T17:06:18+01:00 INFO  [remote_server::unix] (remote server) Got new node settings: NodeBinarySettings { path: None, npm_path: None, ignore_system_version: false }
2025-11-23T17:06:18+01:00 ERROR [crates/agent/src/history_store.rs:235] entity released
2025-11-23T17:06:18+01:00 ERROR [crates/git_ui/src/git_panel.rs:2583] entity released
2025-11-23T17:06:30+01:00 ERROR [remote::remote_client] (remote server) server:error handling message. type:Pull, error:Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.
2025-11-23T17:06:30+01:00 ERROR [git_ui::git_panel] Error while pulling sending pull request

Caused by:
    RPC request Pull failed: Permission denied, please try again. Permission denied, please try again. [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.

Case 2.3

  • Zed on MacOS
  • Remote on rocky9

Result: Success Passphrase modal dialog is shown and Pull/Fetch operation are correctly executed

Summary

Although the error is a bit different, there are still problems when the remote is on RHEL based distros and encrypted keys are used for authentication. Rocky Linux 8 and RHEL 8 do not work regardless of the presence of the graphical environment

gaevoc avatar Nov 23 '25 16:11 gaevoc