「パスワード認証での SSH ログインをスクリプトに埋め込み、自動化したい」場合には sshpass が便利です。但し、パスワードをスクリプト等に平文で記載しておくことになりますので利用はセキュリティを考慮する必要の無い、検証環境のみに制限すべきです(検証環境内での利用にも十分な注意が必要です)。今回はこの sshpass コマンドをインストールします。
OS X 環境へのインストール
まず、事前に homebrew をインストールしておきます。しかし、brew で sshpass をインストールしようとするとセキュリティに関する警告が表示され、インストール出来ません。
$ 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 ファイルを以下から適切に選択します。
あとは yum でインストールするだけです。
$ sudo yum -y install sshpass
使い方
以下のように使います。
$ sshpass -p PASSWORD ssh USERNAME@ADDRESS
コメント