私がするなら:
ssh-keygen -N password123\$ -f bobskeys
\
エスケープ文字ですか$
、それともパスワードの一部になりますか?
または、bash
パスワードの値を取得する前にエスケープを実行しますか?ssh-keygen
$
この役割から抜け出すべきですか?
Centos 5.5 x64とbash 3.2.25を実行しています。
答え1
入力するとき:
ssh-keygen -N password123\$ -f bobskeys
シェルはパラメータを取り、-N
password123$
-f
ssh-keygenを実行しますbobskeys
。
パラメータとして渡すには、一重引用password123\$
符で囲む必要があります。
ssh-keygen -N 'password123\$' -f bobskeys
またはバックスラッシュバックスラッシュ:
ssh-keygen -N password123\\$ -f bobskeys
それ以外の場合、ssh-keygen
プロセスにバックスラッシュが表示されません。
答え2
ssh-keygen
マニュアルページから:
パスワードは、一連の単語、句読点、数字、スペース、または所望の単語文字列を含む構文であり得ることを除いて、パスワードと類似している。良い暗号文は長さが10〜30文字で、単純な文章ではないか簡単に推測することはできません(英語の散文は、1文字あたりのエントロピーが1〜2ビットにすぎず、非常に劣った暗号文を作成します)、大文字と小文字、数字が混在しています。と英数字以外の文字。
-N
パラメータは新しいパスワードを生成するため、この記号\
は解釈の一部です。