AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 843528
Accepted
Lucio Crusca
Lucio Crusca
Asked: 2017-04-10 03:46:40 +0800 CST2017-04-10 03:46:40 +0800 CST 2017-04-10 03:46:40 +0800 CST

variável de ambiente do arquivo de configuração ssh?

  • 772

Preciso fazer login em vários servidores ssh remotos durante meu trabalho administrativo. Eu trabalho com três computadores diferentes do lado do cliente, todos eles são sistemas Debian GNU/Linux. Eu mantenho um diretório do espaço de trabalho onde coloco tudo o que preciso para fazer meu trabalho, e esse diretório contém, entre outras coisas, um bashrcarquivo e um ssh_configarquivo.

Eu sincronizo manualmente o conteúdo desse diretório com um script que usa rsyncde um computador cliente para os outros enquanto movo e começo a usar um cliente diferente.

O usuário local em cada um dos três clientes precisa de configuração mínima, de modo que, se eu precisar criar um novo usuário local ou reinstalar um cliente, tenho apenas que rsyncacessar o espaço de trabalho e adicionar uma referência ao meu custom workspace/bashrcno arquivo $HOME/.bashrc. Meu custom workspace/bashrccria vários aliases e fico com meu ambiente usual independente do cliente que estou usando.

Meu custom workspace/bashrccria aliases para se conectar a servidores remotos desta forma:

alias s1='ssh -F ~/workspace/etc/ssh_config server1.example.com'

e eu entro no server1 apenas digitando s1em um terminal de qualquer cliente, porque meu costume ssh_configdefine as opções de autenticação de chave pública necessárias, a porta correta server1 está escutando e o usuário correto.

Agora isso funciona como um encanto, desde que o sshcomando seja o que eu preciso. Infelizmente, assim que preciso de outro comando que por sua vez use ssh, as coisas ficam mais caóticas.

Por exemplo, se eu precisar de rsyncalguma coisa para um desses servidores, sou forçado a escrever todo o comando ssh:

rsync -Pavz --delete -e "ssh -F $HOME/workspace/etc/ssh_config" ...

scpCoisas semelhantes acontecem com outros comandos , como ssh-copy-ide outros.

gostaria de poder escrever

rsync -Pavz --delete -e "ssh" ...

em vez disso, e fazer com que o ssh pegue seu nome de arquivo de configuração de uma variável de ambiente, para que eu possa definir essa variável de ambiente em my bashrce cada sshinvocação funciona automaticamente.

Existe tal variável de ambiente ou existe uma solução diferente para o problema?

linux
  • 1 1 respostas
  • 9927 Views

1 respostas

  • Voted
  1. Best Answer
    Jakuje
    2017-04-10T12:07:21+08:002017-04-10T12:07:21+08:00

    Isso é um pouco mau uso de todo o conceito e distorcer as ferramentas para o seu caso de uso específico. Você deve usar as ferramentas como elas deveriam ser. Os arquivos de configuração são por padrão em ~/.ssh/config.

    • Por que não criar um link simbólico de lá para o seu ~/workspace/etc/ssh_configem todos os três computadores para fazê-lo funcionar imediatamente sem todo esse trabalho?

    • Desde o OpenSSH 7.3, você pode usar Includea diretiva para obter o mesmo sem links simbólicos (portanto, você também pode ter configurações diferentes em alguns hosts, se necessário).

    • O mesmo truque pode ser feito com a configuração de todo o sistema em /etc/ssh/ssh_config.

    Como você já fez ... adicione uma referência ao meu bashrc personalizado ... você também pode montar a modificação do .ssh/configconjunto em algum script em seu arquivo workspace.

    • 7

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve