GM pessoal, como vocês gerenciam perfils no terminal e chaves ssh, estou tentando deixando um perfil para cada ambiente e cada perfil ter suas próprias chaves. O que recomendam?

Reply to this note

Please Login to reply.

Discussion

não sei exatamente o que vc chama de gerenciar perfil e chaves ssh. Pra gerenciar senhas eu uso o gopass. pode ser que ele funcione bem com chaves ssh também.

A idéia seria ter varios perfils no terminal assim como no browser e poder trocar entre eles e mudar para outra chave ssh default sem ter que defini-la manualmente.

Pensei em fazer um novo perfil de usuário no sistema, mas talvez tenha uma maneira mais fácil

Eu ia sugerir isso. Um usuário por perfil, troca com sudo. Restringe no /etc/sudoers quem pode trocar pra quem.

Eu não entendi muito bem. Por que você precisa de um perfil pra cada ambiente?

Eu nunca precisei fazer isso, acabo por deixar várias chaves para diferentes propósitos no mesmo usuário.

Bom, qdo vou dar push no github está indo com outro user e tenho q mudar a chave padrao manualmente para ir o usuário correto, como tu gerencia isso?

Configura isso em .git/config você pode alter diretamente tudo, o aquivo config do seu repositório git vai ter algo como:

[user]

name = seu user namne

email = seu email

[core]

sshCommand = ssh -i /caminho/id_sra

Em sshCommand você coloca o caminho da chave e no demais as informações do usuário.

Legal, acho q faltou esse sshCommand!

Não conhecia essa configuração (por usuário). Sempre faço minhas configurações difrente para cada server remoto (por host).

Desculpa, confundi o config do ssh com o config do git 😆

É para configurar local, não global 🐸

Parece mais trabalhoso, eu sempre configurei assim direto no repositório, até porque as aplicações que tenho rodo tudo na mesma máquina, um notebook que quebrou a tela mas é muito bom kkkk i5 de 8th com 32gb de RAM.

Gm

https://linux.die.net/man/5/ssh_config

Opções de particular interesse são host, hostname, identityfile, user.

Se for sobre subir aplicações cria cada ambiente em um container docker, é melhor.

Se for configurar tudo manualmente, crie os usuários, e então crie as chaves ssh na pasta de cada usuário acho que em "/home/username/.ssh/", após criar as chaves o programa em execução em cada pasta vai usar as chaves do usuário por padrão. Se não for por padrão você pode configurar isso no seu repositório em .git/config.

Sempre uso docker, mas faria assim se fosse fazer manualmente.

Acredito que vc saiba que pode criar alias para os nomes de hosts no arquivo "config" do ssh. Eu costumo usar as IDEs da JetBrains que gerenciam muito bem o git remote. O navegador Brave/Chrome permite criar vários perfis de navegação.

Você pode usar dotfiles para gerenciar esses arquivos de configuração.