スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに


コンピュータを扱っているとこんなことがあるのではないでしょうか。

  • 毎回同じコマンドを叩いている
  • 運用しているサーバが多すぎる
ひたすら、似たようなことを毎日やっていて、どうにかしたい、って思われてると思います。

sshでログインしているホストで sudo が必要なケースもあるでしょう。
ssh でログインするたびに、sudo のパスワードを聞かれるのは、ウンザリします。
しかも、あと40台もサーバがあるのに、、、とかいうときです。

実現するためのテクニック


ssh foo sudo bar を実現するために、いくつかのテクニック(オプション)を必要とします。

  • [2013-03-15-1] sshコマンドでsudoする方法
    • sudo は、端末が必要なので、sshに-tオプションをつかう。
  • [2013-03-16-1] sudoのパスワードプロンプトを指定する
    • 環境や設定によって、パスワードプロンプトが異なるので、一律同じにする。
  • [2013-03-18-1] expectでsudoを自動化する方法
    • sudo のパスワード確認をexpectで自動化してしまう
  • [2013-03-17-1] シェルスクリプトでユーザにパスワードを入力させる方法
    • expect のためにパスワードをユーザに入力させるための方法

解決策


これが簡単にできる例です。

パスワードをハードコードしておく例。

#!/bin/sh
user="your_account"
pw="Your Passowrd"
server="your.host.name"
cmd="pwd" # Your command

expect -c "
spawn ssh -t $user@$server \"sh -c 'LANG=c sudo -k -p password: $cmd'\"
expect password:
send \"$pw\r\"
interact
"
echo
exit

パスワードの入力を求める例。

#!/bin/sh
user="your_account"
server="your.host.name"
cmd="pwd" # Your command

echo -n "Password(expect): "

stty -echo
read pw
stty echo

expect -c "
spawn ssh -t $user@$server \"sh -c 'LANG=c sudo -k -p password: $cmd'\"
expect password:
send \"$pw\r\"
interact
"
echo
exit

関連項目



スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー