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.

Alt
fonte
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
JSimonsen
fonte
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
smammy
fonte
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
SHI Zhong Ping
fonte
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
10

Outra opção em 2020 é esta torneira caseira , mantida pela esolitos

brew install esolitos/ipa/sshpass
Shiramy
fonte
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
Suresh Kumar
fonte
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
Super Nova
fonte
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.

user1318024
fonte