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 / computer / Perguntas / 1488647
Accepted
j4nd3r53n
j4nd3r53n
Asked: 2019-10-04 00:00:07 +0800 CST2019-10-04 00:00:07 +0800 CST 2019-10-04 00:00:07 +0800 CST

Carregar um arquivo como parte do login com ssh?

  • 772

Aqui está a pergunta que alguns podem achar bastante exótica (e pode muito bem ser impossível): é possível de alguma forma fazer upload de um arquivo ao mesmo tempo em que faço login? Algo como:

$ ssh --some-option /file/to/be/uploaded user@server

Algo como primeiro usar scppara carregar o arquivo, depois fazer login, mas apenas fornecer a senha uma vez. A coisa é, eu sempre tenho que fazer isso (não pergunte, apenas não...)

Alternativamente, existe uma maneira de 'empacotar' vários dos comandos da família ssh, então você só precisa fornecer a senha uma vez (eu sei sobre o uso de chaves privadas/públicas - não é isso que eu quero)?

Editar 1

Não é exatamente uma duplicata: acaba entrando em conflito com o seguinte (que eu tenho que usar):

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

Se eu usar o compartilhamento de conexão, parece desabilitar tudo o que o ssh-agent faz. Existe uma maneira de contornar isso?

Editar 2

Fiz as seguintes modificações:

$ cat .profile
...
function ssh
{
  h=$1
  /usr/bin/scp ~/mybashrc $h:.bashrc
  /usr/bin/scp ~/.vimrc $h:.vimrc
  /usr/bin/ssh $h
}

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

e:

$ cat ~/.ssh/config
...
Host *
        ForwardAgent yes
        User myuser
        IdentityFile ~/.ssh/id_rsa
        ControlPath ~/.ssh/S.%r@%h:%p
        ControlMaster auto
        ControlPersist yes

Sem as Control*opções, posso fazer login no servidor bastion e depois em outros servidores dessa rede, mas quando adiciono as opções, obtenho o seguinte:

$ ssh rgs-gameiom
mybashrc             100%  177    18.0KB/s   00:00
.vimrc               100%   59     3.5KB/s   00:00
Last login: Thu Oct  3 08:35:38 2019 from 80.229.227.116
$ ssh db3
Permission denied (publickey).
ssh
  • 1 1 respostas
  • 86 Views

1 respostas

  • Voted
  1. Best Answer
    user1686
    2019-10-04T01:17:49+08:002019-10-04T01:17:49+08:00

    O SSHv2 oferece suporte à multiplexação de conexão – iniciando várias sessões de comando na mesma conexão. Vários tópicos existentes sobre ativá-lo:

    • Armazene a senha se as chaves SSH forem proibidas
    • Posso iniciar um novo terminal SSH sem autenticar novamente?
    • ssh: deixa o canal aberto para cópias rápidas
    • Como posso executar `make` e recuperar o binário de um host remoto sem `ssh`ing duas vezes?

    Se eu usar o compartilhamento de conexão, parece desabilitar tudo o que o ssh-agent faz. Existe uma maneira de contornar isso?

    Não, não desativa nada.

    No entanto, com o compartilhamento de conexão ativo, apenas a primeira invocação – aquela que realmente se conecta ao servidor e solicita credenciais – prestará atenção ao $SSH_AUTH_SOCK do seu ssh-agent.

    Essa primeira conexão ainda usará o agente para autenticar, se necessário, e configurará o encaminhamento do agente, se ativado.

    Mas as sessões "compartilhadas" futuras na mesma conexão ainda estão pegando carona no processo do cliente original (que permanece em execução em segundo plano), o que significa que elas continuarão usando o mesmo agente ssh que a conexão original usava - elas não migrarão automaticamente para um novo soquete de agente.

    Portanto, se você iniciar o ssh-agent de forma que ele saia automaticamente após fechar o terminal, essa conexão multiplexada perderá seu "encaminhamento de agente" depois que isso acontecer.

    Para evitar isso, a) inicie o ssh-agent de uma maneira mais persistente e talvez use um local de soquete fixo para que seja mais fácil reiniciar exatamente no mesmo caminho,

    eval $(ssh-agent -s -a ~/.ssh/agent-for-project-foo)
    ssh-add
    
    systemd-run --user --unit="ssh-agent" -- ssh-agent -D -a ~/.ssh/agent
    export SSH_AUTH_SOCK=~/.ssh/agent
    ssh-add
    

    ou b) evite ControlPersist e inicie manualmente uma conexão "mestre" quando necessário:

    eval $(ssh-agent -s)
    ssh-add
    ssh -fNM myserver                 # starts a background[-fN] master[-M] connection
    scp somefile myserver:/tmp        # transfers a file without asking for auth
    ssh myserver                      # opens a shell session without asking for auth
    
    • 2

relate perguntas

  • O OpenVPN pode conectar, o tráfego funciona, mas não estou na rede local

  • Como acessar remotamente o console do EC2 usando GUI

  • Exigir autenticação LDAP *e* autenticação ssh

  • Carregar chave “ec256.pem”: formato inválido é lançado ao tentar gerar chave pública a partir de chave privada

  • Por que chown 600 id_rsa corrige problemas de permissões?

Sidebar

Stats

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

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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