Блог
Анатолия Борисова

Как повысить свою долю в экспорте программного
обеспечения из России до 1 000 000 рублей в год?

Подарок

для каждого подписавшегося
на нашу рассылку

VS Code Remote SSH и ssh-agent: где на самом деле нужно настраивать ключи

Если ты работаешь через VS Code Remote SSH, важно понимать один ключевой момент: Git-команды выполняются на удалённом сервере, а не на локальном компьютере.

Поэтому настройка ssh-agent и ключей локально может вообще не влиять на то, что происходит при git pull / push / sync в VS Code.


Как это работает

  1. Ты подключаешься к серверу через VS Code Remote SSH
  2. VS Code запускает Git на сервере
  3. Git ищет ключи и ssh-agent на сервере

Если на сервере нет агента или ключа — пароль будет спрашиваться каждый раз.


Вариант 1. Настроить ssh-agent прямо на сервере

Подключись к серверу (через VS Code или обычный SSH) и выполни:

eval "$(ssh-agent -s)"

Добавь ключ (уже на сервере):

ssh-add ~/.ssh/id_ed25519

Пароль вводится один раз, после этого Git работает без вопросов.

Чтобы агент запускался автоматически

Добавь в ~/.bashrc или ~/.zshrc:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Вариант 2 (рекомендуется). Agent Forwarding — ключ остаётся локально

Это самый удобный и безопасный вариант: приватный ключ не копируется на сервер, а используется через локальный ssh-agent.

1. Включаем ForwardAgent локально

В файле ~/.ssh/config на локальной машине:

Host myserver
    HostName server.example.com
    User %USERNAME%
    ForwardAgent yes

2. Добавляем ключ в локальный ssh-agent

На локальной машине (Windows PowerShell):

ssh-add C:\Users\%USERNAME%\.ssh\id_ed25519

3. Подключаемся через VS Code Remote SSH

Теперь Git на сервере будет использовать твой локальный ключ, и пароль больше вводить не потребуется.


Важно про настройки VS Code

Настройка:

"git.ssh.enableAgent": true

должна быть добавлена в settings.json на уровне пользователя, но она влияет только на то, чтобы VS Code использовал уже запущенный агент.

Она не решает проблему сама по себе, если агент или ключ не настроены
в правильном месте (локально или на сервере).


Итог

  • VS Code Remote SSH → Git работает на сервере
  • Можно настроить ssh-agent на сервере
  • Лучший вариант — Agent Forwarding
  • Пароль вводится один раз и больше не мешает

После правильной настройки Sync / Pull / Push в VS Code работают тихо и без сюрпризов.

Комментариев еще нет.

Оставить комментарий