macから簡単にscpさせたいなぁ
なんか公開鍵認証の設定とかめんどくさそうだなぁと思いつつ作ったファイルアップロード用シェルです。
(前回の記事同様sshpassにより書き換え可能なため、あとでsshpass版も追記予定)
アップロード元rootディレクトリ:/Users/user/Desktop/test/src/
アップロード先rootディレクトリ:/home/pi/Desktop/test/src/
アップロード先ipアドレス:192.168.0.10
アップロード先user名:pi
アップロード先password:raspberry
upload.sh
#!/bin/sh
lRoot=/Users/user/Desktop/test/src/
hRoot=/home/pi/Desktop/test/src/
password='raspberry'
host='192.168.0.10'
id='pi'
expect -c "
set timeout 10
spawn scp -p $lRoot$1 $id@$host:$hRoot
expect \"password:\"
send \"$password\r\"
interact
"
使い方
アップロードしたいファイルが/Users/user/Desktop/test/src/sample.py
アップロード先が/home/pi/Desktop/test/src/の場合は下記の様になる。
. upload.sh sample.py
シェル実行後、/home/pi/Desktop/test/src/sample.pyにアップロードされる。
2016/9/27:追記
- sshpassを導入した場合
brew install http://git.io/sshpass.rb
auto_login.sh
#!/bin/sh
lRoot=/Users/user/Desktop/test/src/
hRoot=/home/pi/Desktop/test/src/
password='raspberry'
host='192.168.0.10'
id='pi'
sshpass -p $password scp -o StrictHostKeyChecking=no $lRoot$1 $id@$host:$hRoot