らくがきちょう

なんとなく

sshpass をインストールするには

「パスワード認証での SSH ログインをスクリプトに埋め込み、自動化したい」場合には sshpass が便利です。但し、パスワードをスクリプト等に平文で記載しておくことになりますので利用はセキュリティを考慮する必要の無い、検証環境のみに制限すべきです(検証環境内での利用にも十分な注意が必要です)。今回はこの sshpass コマンドをインストールします。

OS X 環境へのインストール

まず、事前に homebrew をインストールしておきます。しかし、brewsshpass をインストールしようとするとセキュリティに関する警告が表示され、インストール出来ません。

$ brew install sshpass
Error: No available formula for sshpass
We won't add sshpass because it makes it too easy for novice SSH users to
ruin SSH's security.

そこで、以下のように指定することでインストール可能です(※ 2015/12/17 最新の情報に修正

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

Ubuntu 環境へのインストール

Ubuntu 14.04.2 LTS の場合、apt で簡単にインストール可能です。

$ sudo apt-get -y install sshpass

CentOS 環境へのインストール

CentOS7 (※ 2016/6/25 追記)

CentOS7 では以下の手順でインストール出来ます。

yum install -y epel-release
yum update
yum install -y sshpass

CentOS6

CentOS6 では EPEL のリポジトリを追加します。以下は CentOS 6(64bit)環境での実行例です。

$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

CentOS のバージョン / アーキテクチャに合わせ、追加する .rpm ファイルを以下から適切に選択します。

CentOS5 URL
32bit http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
64bit http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
CentOS6 URL
32bit http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64bit http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

あとは yum でインストールするだけです。

$ sudo yum -y install sshpass

使い方

以下のように使います。

$ sshpass -p PASSWORD ssh USERNAME@ADDRESS