1
resposta

Como habilitar o agente ssh no Git-Bash no VS Code

Eu uso VS Code e Git-Bash para comandos git no Windows, sempre que abro preciso definir o agente ssh e o endereço da chave SSH.

Ao pesquisar sobre o assunto li vários tutoriais de como configurar o ssh-agent ao iniciar o VS Code Criando tasks.json

{
    "version": "2.0.0",
    "tasks": [
      {
        "label": "Inicial SSH",
        "type": "shell",
        "command": "bash",
        "args": ["eval $(ssh-agent)",
            "ssh-add C://Users//my.user//.ssh//my-key-RSA"]
      }
    ]
  }

tasks.json

  {
    "version": "2.0.0",
    "windows": {
        "options": {
            "shell": {
                "executable": "C:\\Program Files\\Git\\bin\\bash.exe",
                "args": ["eval $(ssh-agent)",
                "ssh-add C://Users//my.user//.ssh//my-key-RSA"]
            }
        }
    }
}

Criando .profile

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

**Mas não funcionou **

Como faço para que, ao abrir o VS Code, o git-bash comece a executar esses dois comandos?

$ avaliação $ (agente ssh)
$ ssh-add C://Users//my.user//.ssh//my-key-RSA

Eu só preciso que ao abrir o VS Code ele carregue o git-bash e execute os dois comandos. Qual é a melhor maneira de fazer isso?

1 resposta

Boa tarde, Robison! Tudo bem?

Caso você estivesse utilizando um ambiente Linux seria mais simples para habilitar comando, isso ocorre por conta de N restrições presentes no Windows.

Contudo, ainda temos uma solução, que é criar um script .bat para abrir diretamente o git bash e executar esses comandos. Mas o que seria esse .bat? Basicamente é como se configurássemos um script cuja função é automatizar tarefas rotineiras e muitas vezes trabalhosas, a qual é o seu caso.

Então, abra um bloco de notas e cole a seguinte sequência de comandos:

@echo off

REM Inicia o agente SSH
"C:\Program Files\Git\bin\bash.exe" -c "eval $(ssh-agent)"

REM Adiciona sua chave SSH ao agente
"C:\Program Files\Git\bin\bash.exe" -c "ssh-add 'C:\Users\seu_usuario\.ssh\id_rsa'"

REM Aguarda a entrada do usuário antes de fechar o prompt de comando
pause

Altere o comando que leva para a sua chave SSH e salve o arquivo com a extensão .bat, por exemplo: "inicializador.bat". Depois disso, coloque esse arquivo na pasta de inicializar, para fazer isso digite a tecla "Win + R" e busque por shell:startup. Agora basta copiar o script que você havia criado e colar nessa pasta.

Por fim, siga os passos para usar o script no agendador de tarefas do Windows:

  1. Abra o Agendador de Tarefas buscando pelo seu nome na aba de pesquisa do Windows.

  2. No painel de ações, clique em "Criar Tarefa Básica..."

  3. Siga as instruções do assistente. Certifique-se de configurar a tarefa para iniciar "quando o computador inicia".

  4. Na janela "Ação", selecione "Iniciar um programa" e clique em Avançar.

  5. No campo "Programa/script", insira o caminho completo para o script que criamos. Algo como:

    C:\Caminho\Para\Seu\inicializador.bat
    
  6. Clique em Avançar e revise as configurações e finalize a criação da tarefa.

Agora, sempre que o Windows iniciar, o seu agente SSH será inicializado.

Lembre-se de que é importante ter caminhos absolutos e configurações corretas para o ambiente. E não se esqueça de substituir os caminhos e nomes dos arquivos conforme esta no seu computador.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.