From fbea0bc0852a525bceeb433c6ff153d64d078e2c Mon Sep 17 00:00:00 2001 From: Arity-T Date: Tue, 18 Feb 2025 21:59:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=20SSH-agent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/servers/ssh.md | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 docs/servers/ssh.md diff --git a/docs/servers/ssh.md b/docs/servers/ssh.md new file mode 100644 index 0000000..c83e57a --- /dev/null +++ b/docs/servers/ssh.md @@ -0,0 +1,49 @@ +# Заметка по SSH + +## SSH-agent + +### Установка на Windows + +`ssh-agent` является частью OpenSSH. Начиная с Windows 10, OpenSSH устанавливается вместе с системой, однако службу `ssh-agent` надо включить вручную. Для этого нужно запустить `Powershell` от имени администратора и выполнить несколько команд. + +```powershell +Set-Service -Name ssh-agent -StartupType Automatic +Start-Service ssh-agent +``` + +Проверить состояние `ssh-agent` можно с помощью команды. + +```powershell +Get-Service -Name ssh-agent | select -property status,name,starttype +``` + +На Windows `git` по умолчанию использует свою службу `ssh` вместо системной, поэтому `ssh-agent` не будет с ним работать и пароли всё равно придётся вводить вручную. Однако можно настроить `git` так, чтобы он использовал системный `ssh`. + +```powershell +git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe" +``` + +### Использование + +!!! warning "Security warning" + + На Windows доступ к ключам сохраняется даже после перезагрузки системы. + +```sh +# Добавляет ключи из ~/.ssh/ +ssh-add +# Можно указать путь +ssh-add path/to/id_rsa +# Список добавленных ключей +ssh-add -l +# Удалить все ключи из памяти агента +ssh-add -D +``` + +Иногда нужно, чтобы при подключении на сервер, были доступны приватные ключи из локального `ssh-agent`. Для этого можно использовать команду `ssh -A`. + +```sh +ssh -A user@server +``` + +Либо указать `ForwardAgent yes` в конфиге `ssh`. \ No newline at end of file