はじめに
みなさん、こんにちは torihaziです
タイトルのようなことをしたいと思い、かれこれ調べてやってみました。
どんな形に着地するかは分かりませんが、思考の過程も合わせて
書いていこうと思います。
不時着したらすいません。
では行ってみましょう!!
目次(ここをクリック)
現状
まず1をすること自体が億劫でした。
sshのログイン、コマンドに書き起こすと長いです。
ssh -i 秘密鍵のパス -p ポート番号 ユーザ@接続先 成功したらパス入力。
今はこれをスクリプトにしています。
他の方法もあるかもしれませんが、vimの練習も兼ねて。
中身は上のコマンドまんまです。
sh sshToVps.shみたいにいつもやっています。
ここから色々調べてやってみます。
試したこと
sshpassを使う
もっと手こずるかと思いましたが、答えが見つかってしまったかもしれません。
さてman sshpassとmacのターミナルで打ってみると。
ない。which sshpassとしてもない。
あら。dnf search sshpassとしてもそもそもdnfすらない。
???
バカでした。やっていたのはmacのターミナルです。
dnfなんてあるわけありませんでした。
ここでHomebrewの出番というわけですね。
・・・
インストールしてきました。
macにHomeBrewを入れた - Torihaji's Growth Diary
Homebrewで実行されているコマンドの中身について - Torihaji's Growth Diary
多分 brew install sshpassみたいな感じでいけると思うのでやってみました。
なんかだめなようです。んなものはないと怒られました。
# brew install sshpass ・・・ Warning: No available formula with the name "sshpass". Did you mean sshs? ==> Searching for similarly named formulae and casks... ==> Formulae sshs ・・・ # echo $? 1
色々記事が出ていましたが、どうやらだめなようです。
調べてみると私はこれでいけました。
# brew install hudochenkov/sshpass/sshpass # echo $? 0 # which sshpass /opt/homebrew/bin/sshpass
sshpassを使ってみる
使い方を見てみると、次の書式でいけるっぽいですね。
sshpass -p "鍵パスワード" ssh -i 秘密鍵のパス -p ポート番号 ユーザ@接続先
それでは運命の瞬間です。
失敗です。プロンプトが返ってきませんでした。
この人の記事で成功しそうです。
`sshpass` で秘密鍵のパスフレーズを自動入力する #SSH - Qiita
試しにやってみると。
成功しました。
これでsh スクリプト名とするだけでVPSにログインが可能になりました。
ちなみにスクリプトの中身は
sshpass -p "鍵パスワード" -P "Enter passphrase for key" ssh -i 秘密鍵のパス -p ポート番号 ユーザ@接続先
いやぁよかったよかった。
終わりに
意外と長いコマンドを毎回打たなければならなかったのでよかったです。
ただセキュリティ的によろしくないよとの記述が見受けられました。
何がだめなのでしょうか。
いつかそれに気づく日が来るのでしょうか。
そうなったらその時ですね。
とりあえずよかったです。