Como passar uma senha para baixo com o túnel ssh

0

Quando me conecto ao meu túnel SSH, preciso fornecer uma senha para a máquina que estou acessando.

Eu posso dar a essa conexão uma senha?

Apenas por um motivo que eu gostaria de ter a senha já fornecida é que eu estou planejando escrever um script .sh que se conecta a muitas portas diferentes.

Vale a pena mencionar que tenho minhas configurações de chaves privadas / públicas com a máquina que estou acessando. Sem essa chave, eu vou jogar fora da caixa imediatamente. A senha que está sendo solicitada é Apple User password.

Saída detalhada

hutber@hutber ~/www/mortgages-ui $ ssh -L 3333:github.privateurl.net:22 [email protected] -v
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /home/hutber/.ssh/config
debug1: /home/hutber/.ssh/config line 11: Applying options for 192.168.205.130
debug1: /home/hutber/.ssh/config line 39: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.205.130 [192.168.205.130] port 22.
debug1: Connection established.
debug1: identity file /home/hutber/.ssh/id_rsa_ubuntu type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/hutber/.ssh/id_rsa_ubuntu-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6
debug1: match: OpenSSH_7.6 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 192.168.205.130:22 as 'hutber'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:JYTBdbgOnTNKQOpvhE+vXAbLMWjZ1L/vzPhL4sO2Pig
debug1: Host '192.168.205.130' is known and matches the ECDSA host key.
debug1: Found key in /home/hutber/.ssh/known_hosts:63
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/hutber/.ssh/id_rsa_ubuntu
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: keyboard-interactive
Password:
debug1: Authentication succeeded (keyboard-interactive).
Authenticated to 192.168.205.130 ([192.168.205.130]:22).
debug1: Local connections to LOCALHOST:3333 forwarded to remote address github.privateurl.net:22
debug1: Local forwarding listening on ::1 port 3333.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 3333.
debug1: channel 1: new [port listener]
debug1: channel 2: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug1: Sending environment.
debug1: Sending env LANG = en_GB.UTF-8
Last login: Wed Jun 13 15:13:15 2018
    
por Jamie Hutber 12.06.2018 / 18:10

2 respostas

2

Melhor idéia é usar autenticação de chave. Primeiro, você precisa gerar um par de chaves pública-privada em sua máquina local:

ssh-keygen

e adicione sua nova chave pública ao servidor remoto:

ssh-copy-id user@host

Depois disso, você estará autenticando no servidor remoto sem senha.

    
por 12.06.2018 / 18:14
0

É a "Senha do usuário da Apple" talvez a senha do seu Chaveiro que contém a chave privada da chave pública na qual você está autenticando?

E agora você quer usar esse par de chaves para auth contra [email protected]

Portanto, para remover essa senha, você teria que criar uma nova chave sem proteção por senha. Isso poderia ser feito com o ssh-keygen mencionado.

Além disso, você pode querer dar uma olhada em como usar hosts de salto com o ssh-config, caso isso se aplique à sua máquina local: link

    
por 12.06.2018 / 22:00