Piping Serverでディレクトリをgpg暗号化転送する時にパスワードをコマンドライン引数で指定する
やりたいこと
ディレクトリを暗号化して転送したい。
パスワードを手入力せずにコマンドライン引数で渡したい。
gpgコマンドのパスフレーズの手入力が不安定な環境があったりする時があった。環境変数GPG_TTY=$(tty)してもなぜかうまく行かない環境があった。 やりかた
パスフレーズを環境変数$PASSに入れておく。
code:bash
PASS=安全なパスフレーズ
ブラウザで簡単に生成できるのと、リロードすれば再生成される。
inputに数値を入れるとその長さになる。
送信者
今いるディレクトリを.tar.gzにして暗号化して送信している。
code:bash
受信者
復号してmy.tar.gzとして保存している。
code:bash
進捗確認について
送信者でtar vを指定しているのでどのファイルをいまアーカイブしているか分かる。
受信者側でもcurlコマンドが現在のスピードや何バイト受信したか表示されるので(環境依存かもしれない)、それも役に立つ。du -h my.tar.gzで容量増えているか確認するのも一つの手。 おまけ
受信者側でtar xを足すと、.tar.gzを解凍しながら受信もできる。.tar.gzに用はなくて、ディレクトリとして受け取りたいならこの方が効率がよくなる。