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:
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:
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.
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
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.
ssh-keygen -b 2048
. Ele irá gerar um par de chaves e armazená-los~/.ssh.
comoid_rsa
(chave privada) eid_rsa.pub
(chave pública). Copieid_rsa.pub
para o linux no diretório~/.ssh/
e nomeie o arquivoauthorized_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.id_rsa
arquivo em sua máquina local e 2)scp
oid_rsa.pub
para a pasta correspondente do servidor conforme sugerido e 3) renomeie oid_ras.pub
arquivo no servidor .Respostas:
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:
fonte
Error: 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.
Alguns anos se passaram e agora existe um Homebrew Tap para
sshpass
, mantido por Aleks Hudochenkov . Para instalar asshpass
partir deste toque, execute:fonte
A solução fornecida por lukesUbuntu do github funciona para mim:
Basta usar cerveja
fonte
Outra opção em 2020 é esta torneira caseira , mantida pela esolitos
fonte
Seguir funcionou para mim
fonte
Siga os passos abaixo para instalar
sshpass
no mac.fonte
Pela simples razão:
Portanto, a resposta para fazer curl / configurar / instalar funcionou muito bem para mim no Mac.
fonte