Help us understand the problem. What is going on with this article?

【Mac】ssh接続で毎回パスワードを求められるのでaliasとsshpassを使って解決

More than 3 years have passed since last update.

社内サーバで一部、鍵認証ではなくパスワード認証のサーバがあり、毎回パスワードを探してコピペするのが面倒だったので、簡単にできないか探してみました。

※ macユーザ対象に書いてます。

ssh接続で毎回パスワードを求められるのでaliasとsshpassを使って解決

sshする際にパスワードを指定できないかなと探してみたら、sshpassなるものがありました!

$ sshpass -p 'password' ssh username@xxx.xxx.xxx.xxx

これでパスワードを指定して認証できるんです。

ただ、このままだと結局パスワードを探してコピペしなければいけないので、aliasに登録するのが今回の記事になります。

1. sshpassをHomebrewを使ってインストール

※ Homebrewをインストールしてない人は下記等を参考にインストールしてください。

パッケージ管理システム Homebrew
Homebrewまとめ
MacにHomebrewをインストールする

1-1. brew install sshpass

「sshpass brew install」等で調べると下記のコマンドが出てきましたが、残念ながらエラーになりインストールができませんでした。

$ brew install https://raw.github.com/eugeneoden/homebrew/eca9de1/Library/Formula/sshpass.rb
######################################################################## 100.0%
==> Downloading http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
==> Downloading from http://jaist.dl.sourceforge.net/project/sshpass/sshpass/1.05/sshpass-1.05.tar
######################################################################## 100.0%
Error: MD5 support has been dropped for security reasons.
Please switch this formula to SHA256.

1-2. エラー解消

エラーの解消方法を調べてみると
https://gist.github.com/arunoda/7790979
brew_install_sshpassのエラー解消
MD5に対応したものを作成してくれてました!!!

こちらのsshpassでインストールできました!
kadwanevさんありがとうございます。

$ brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
######################################################################## 100.0%
==> Downloading http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
Already downloaded: /Library/Caches/Homebrew/sshpass-1.05.tar.gz
==> ./configure --prefix=/usr/local/Cellar/sshpass/1.05
==> make install
🍺  /usr/local/Cellar/sshpass/1.05: 8 files, 39.2K, built in 9 seconds
$
$ sshpass -V
sshpass 1.05 (C) 2006-2011 Lingnu Open Source Consulting Ltd.
This program is free software, and can be distributed under the terms of the GPL
See the COPYING file for more information.

2. aliasにsshコマンドを登録

※ zshの方は、zshに置き換えて読んでもらえればと思います。

bashのaliasにsshpassを使ったssh接続コマンドを記載しましょう!

2-1. .bashrcにaliasを記載

$ vi ~/.bashrc
# ~/.bashrc

alias hogehoge='sshpass -p 'password' ssh username@xxx.xxx.xxx.xxx'

2-2. bashを更新してaliasを即反映

$ source ~/.bashrc
$ alias
alias hogehoge='sshpass -p password ssh username@xxx.xxx.xxx.xxx'
$ hogehoge
Last login: Wed Jan  6 12:08:08 2016 from 192.168.21.99

パスワード認証なしで簡単にsshできました!

少しでも参考になれば幸いです。
以上!「【Mac】ssh接続で毎回パスワードを求められるのをaliasとsshpassを使って解決」でした!

na1412
2014年から2年間Webエンジニアを経験し、現在はマーケターをやってます。 SEOが得意領域!エンジニア向けSEO知識とかを紹介したい
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away