パスなし秘密鍵からパスワード付きを2種類作成するスクリプト

WidowsだとPuttyでそれ以外だとOpensshが使われているのでパスワード自動生成して両方生成するスクリプトを作りました。 途中でパスワードを聞かれる部分はechoで表示されたものを自分で入力しないといけないですが・・・。

#!/bin/bash

file=$1

if [ "$file" = "" ]; then
  echo "usage: $0 file"
  exit 1
fi

if [ ! -f $file ]; then
  echo "file not found"
  exit 1
fi

pass=`pwgen -cn 12 1`

dir_name=`dirname $file`
file_name=`basename $file`

base_file_name=`echo $file_name | sed -e "s/_nopass//" | sed -e "s/\..*$//"`

echo "######################"
echo "password: $pass"
echo "######################"

puttygen -O private $file -o ${dir_name}/${base_file_name}.ppk -P
openssl rsa -in $file -out ${dir_name}/${base_file_name}.openssh -des3