Comment installer sshpass sur Mac?

91

Je souhaite automatiser la connexion SSH depuis mon mac.

Il a une solution simple:

sshpass -p my_password ssh m_username@hostname

mais mon problème est d'installer sshpass sur mon mac.

Alt
la source
3
Pourquoi s'embêter avec sshpass alors que vous pouvez utiliser des paires de clés ssh? Plus sécurisé et ne pas exposer le mot de passe dans la table de processus.
alvits
7
Sous OSX, exécutez la commande ssh-keygen -b 2048. Il générera une paire de clés et les stockera en ~/.ssh.tant que id_rsa(clé privée) et id_rsa.pub(clé publique). Copiez id_rsa.pubsous Linux dans le répertoire ~/.ssh/et nommez le fichier authorized_keys. À partir de là, lorsque vous vous connectez à Linux, vous n'aurez plus besoin d'un mot de passe. La paire de clés privée / publique sera utilisée.
alvits
Juste pour quelqu'un d'autre qui pourrait essayer de suivre le conseil très utile de @alvits: 1) générer le id_rsafichier sur votre machine locale et 2) scple id_rsa.pubdans le dossier correspondant du serveur comme suggéré et 3) renommer le id_ras.pubfichier sur le serveur .
yuqli
6
Les réponses ci-dessus ne répondent PAS à la question de OP. Bonne alternative, mais n'expliquant pas comment installer sshpass sur Mac. Il y a des cas où vous ne pouvez pas copier sur le système distant (le mien est un système de fichiers en lecture seule intégré). Donc, quelque chose comme sshpass est un meilleur moyen d'accéder à la télécommande.
ChuckB

Réponses:

165

Il y a des instructions sur la façon d'installer sshpass ici:

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

Pour Mac, vous devrez installer xcode et les outils de ligne de commande, puis utiliser la commande non officielle Homewbrew:

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
JSimonsen
la source
11
En 2020, j'ai trouvé cela comme la meilleure réponse
Mike Pennington
33

Quelques années ont passé et il y a maintenant un bon Homebrew Tap pour sshpass, maintenu par Aleks Hudochenkov . Pour installer à sshpasspartir de ce robinet, exécutez:

brew install hudochenkov/sshpass/sshpass
smammy
la source
3
Le code source est-il quelque part? Utiliser quelque chose comme sshpass sans connaître le code est essentiel
muuvmuuv
2
@muuvmuuv, oui. Si vous regardez la formule dans ce robinet , vous verrez qu'elle télécharge la source à partir de downloads.sourceforge.net/project/sshpass/sshpass/1.06/... et la construit localement.
smammy le
1
Cela devrait être la réponse acceptée maintenant
Val
18

La solution fournie par lukesUbuntu de github fonctionne pour moi:

Utilisez simplement une infusion

$ brew install http://git.io/sshpass.rb
SHI Zhong Ping
la source
7
note: ceci est obsolète et pointe vers une ancienne version de sshpass
Devis L.
@DevisLucato Oui, pour celui LF la dernière version de sshpass, xcode avec sshpass src ouvrira la voie. sourceforge.net/projects/sshpass Bonne chance.
SHI Zhong Ping
1
Ceci est maintenant obsolète - le commentaire ici: stackoverflow.com/a/62623099/1817774 est plus actuel. Merci @smammy
babelmonk
6

Une autre option en 2020 est ce robinet homebrew, maintenu par esolitos

brew install esolitos/ipa/sshpass
Shiramy
la source
2

La suite a fonctionné pour moi

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
la source
1

Veuillez suivre les étapes ci-dessous pour installer sshpasssur 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
SuperNova
la source
1

Pour la simple raison:

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.

Ainsi, la réponse à faire curl / configure / install a très bien fonctionné pour moi sur Mac.

user1318024
la source
-1

sur les nouveaux macs, exécutez ceci.

> brew install sshpass
utilisateur1
la source
Cela ne fonctionne pas, vous obtenez le message d'erreurWe won't add sshpass because it makes it too easy for novice SSH users to ruin SSH's security.
Dave