Como instalar o sshpass no mac?


96

Eu gostaria de automatizar o login ssh do meu mac.

Ele tem uma solução simples:

sshpass -p my_password ssh m_username@hostname

mas meu problema é instalar o sshpass no meu mac.


4
Por que se preocupar com o sshpass quando você pode usar pares de chaves ssh? Mais seguro e não expõe senha na tabela de processos.
alvits

8
No OSX, execute o comando ssh-keygen -b 2048. Ele irá gerar um par de chaves e armazená-los ~/.ssh.como id_rsa(chave privada) e id_rsa.pub(chave pública). Copie id_rsa.pubpara o linux no diretório ~/.ssh/e nomeie o arquivo authorized_keys. Daqui em diante, quando você se conectar ao Linux, não precisará de uma senha. O par de chaves privada / pública será usado.
alvits

1
Apenas para outra pessoa que possa estar tentando seguir @alvits um conselho muito útil: 1) gere o id_rsaarquivo em sua máquina local e 2) scpo id_rsa.pubpara a pasta correspondente do servidor conforme sugerido e 3) renomeie o id_ras.pubarquivo no servidor .
yuqli de

7
As respostas acima NÃO respondem à pergunta de OP. Boa alternativa, mas não explica como instalar o sshpass no Mac. Há casos em que você não pode copiar para o sistema remoto (o meu é um sistema de arquivos embutido somente leitura). Portanto, algo como sshpass é o melhor meio de acessar o controle remoto.
ChuckB de

Respostas:


167

Existem instruções sobre como instalar o sshpass aqui:

https://gist.github.com/arunoda/7790979

Para Mac, você precisará instalar o xcode e as ferramentas de linha de comando e usar o comando Homewbrew não oficial:

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

15
Em 2020, descobri que essa era a melhor resposta
Mike Pennington

2
Infelizmente, isso não funcionou para mimError: Calling Non-checksummed download of sshpass formula file from an arbitrary URL is disabled! Use 'brew extract' or 'brew create' and 'brew tap-new' to create a formula file in a tap on GitHub instead.
Alex

56

Alguns anos se passaram e agora existe um Homebrew Tap para sshpass, mantido por Aleks Hudochenkov . Para instalar a sshpasspartir deste toque, execute:

brew install hudochenkov/sshpass/sshpass

4
O código-fonte está em algum lugar? Usar algo como sshpass sem saber o código é fundamental
muuvmuuv

3
@muuvmuuv, sim. Se você olhar para a fórmula em que a TAP , você vai ver que ele baixa a fonte de downloads.sourceforge.net/project/sshpass/sshpass/1.06/... e constrói-lo localmente.
smammy

17

A solução fornecida por lukesUbuntu do github funciona para mim:

Basta usar cerveja

$ brew install http://git.io/sshpass.rb

7
observação: está desatualizado e aponta para uma versão antiga de sshpass
Devis L.

@DevisLucato Sim, para aquele LF, a versão mais recente do sshpass, xcode com sshpass src vai mostrar o caminho. sourceforge.net/projects/sshpass Boa sorte.
SHI Zhong Ping

2
Isso agora está desatualizado - o comentário aqui: stackoverflow.com/a/62623099/1817774 é mais atual. Obrigado @smammy
babelmonk


3

Seguir funcionou para mim

curl -O -L  https://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz
cd sshpass-1.06/
./configure
sudo make install

1

Siga os passos abaixo para instalar sshpassno mac.

curl -O -L https://fossies.org/linux/privat/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz

cd sshpass-1.06

./configure

sudo make install

1

Pela simples razão:

Andy-B-MacBook:~ l.admin$ brew install sshpass
Error: No available formula with the name "sshpass"
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.

Portanto, a resposta para fazer curl / configurar / instalar funcionou muito bem para mim no Mac.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.