「ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法3)」の編集履歴(バックアップ)一覧はこちら

ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法3)」(2020/07/19 (日) 23:40:40) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

&bold(){【お知らせ】} ---- &bold(){<2019/07/18 追記>} 現在の Windows 10 では、ssh-agent がバンドルされています。Cygwin との連携は確認していませんが、WSL では ssh-agent-wsl というものが開発され、連携して利用できるようになっています。 ・https://laboradian.com/use-ssh-agent-wsl/ &bold(){<2015/06/17 追記>} gnupack-12.00 以降でも正常に動作するように調整しました。(調整以前は、/tmp のマウントポイントが深くなるなどの問題がありました。) &bold(){<2015/04/27 追記>} Cygwin を最新に Update したところ、keychain がエラーを吐くようになりました。 ・http://d.hatena.ne.jp/msfukui/20150416/1429173845 とりあえず、~/bin/ssh-setup.sh を次のとおりとし、ssh-agent.exe を一旦終了した後、NTEmacs を再起動することで回避できます。 # source ssh-keychain.sh source ssh-agent.sh # source ssh-pageant.sh &bold(){【本題】} ---- #co(){{ (方法1)、(方法2)と変遷してきて、結局この内容に行きつきました。 }} この設定は、trump-method に plink や pscp を使う場合には不要です。 plink や pscp を使う場合のパスフレーズの管理には、PuTTY 付属の Pageant を利用してください。 ・http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html ・http://ryo-san.sblo.jp/article/41542598.html 恐らく、win-ssh-agent.exe を使うのが一番簡単です。以降の設定は、コマンドラインで完結したい方がお使いください。 ・http://d.hatena.ne.jp/ganaware/20111102/1320222616 ---- 以下は設定例です。適当に自分の環境に合うように調整してください。 <作業手順> 0) ssh-keygen.exe を使って鍵を作成し、接続するサーバに公開鍵を登録する。この場合、パスフレーズを利用することが、今回の前提。   ssh-pageant.exe を使う場合は、PuTTY 付属の Pageant と連携するので、そちらで鍵の管理をする。   ※ ssh-keygen.exe で作成した秘密鍵を Pageant に取り込むには、PuTTYgen でインポートして変換するする必要がある。    このときに、PuTTY 付属の PuTTYgen では変換できない(エラーが出る)場合があるので、その場合は WinSCP 付属の PuTTYgen を使うこと。     http://kakikake2.wordpress.com/2012/03/18/ssh-key-generate-2/    Pageant も WinSCP に付属しているが、こちらは PuTTY 付属のものを使った方がよい。PuTTY 付属のものは、鍵の照会確認のダイアログがでる機能があるなど、    セキュリティ対策機能を持ったものとなっている。 1) ホームディレクトリに binディレクトリを作成する。( mkdir ~/bin ) 2) 1) で作成した binディレクトリに次のファイルを作成する。 ~/bin/ssh-keychain.sh ← ssh-agent.exe を keychain と連携して使う場合に必要 (keychain は、別途 Cygwin にインストールする必要あり) keychain ~/.ssh/id_rsa source ~/.keychain/$HOSTNAME-sh ~/bin/ssh-agent.sh ← ssh-agent.exe を単独で使う場合に必要 (上記のkeychain を使うのであれば、不要な設定) if [ -z "$SSH_AGENT_PID" -o -z "$SSH_AUTH_SOCK" ]; then ps | grep -q 'ssh-agent$' if [ $? -eq 0 ]; then source /tmp/ssh-agent.rc else ssh-agent -s | grep -v '^echo' > /tmp/ssh-agent.rc source /tmp/ssh-agent.rc ssh-add fi fi ~/bin/ssh-pageant.sh ← PuTTY 付属の Pageant を使う場合に必要。また、~/bin に ssh-pageant.exe も格納しておくこと。(https://github.com/cuviper/ssh-pageant/downloads) if [ -z "$SSH_PAGEANT_PID" -o -z "$SSH_AUTH_SOCK" ]; then ps | grep -q 'ssh-pageant$' if [ $? -eq 0 ]; then source /tmp/ssh-pageant.rc else ssh-pageant -s -q > /tmp/ssh-pageant.rc source /tmp/ssh-pageant.rc fi fi ~/bin/ssh-setup.sh ← 上記のシェルスクリプトのどれを使うかを切り替えるスクリプト source ssh-keychain.sh # source ssh-agent.sh # source ssh-pageant.sh ~/bin/emacs.sh #!/bin/sh source ssh-setup.sh exec /root/*emacs.exe # 起動する Emacs のインストールパスを指定する。左記は、gnupackの場合。 3) デスクトップなどに次のバッチファイルを置く (~/bin に置いて、そのショートカットをデスクトップに置くのも良いと思う。ショットカットのアイコンを NTEmacs のものに変更しておけば完璧です!) emacs.bat <Cygwin のインストールパス>/bin/bash -c "PATH=/bin:/home/bin emacs.sh" 4) Emacs を emacs.bat の実行で起動する。 注) ssh-agent.exe が起動していると、NTEmacs を終了しているときでも Cygwin のアップデートに失敗する場合があります。(プログラムが使用されてアップデートできないという警告が表示される。)   その際は、タスクマネージャーから ssh-agent.exe プロセスを終了させてください。 ---- <変更履歴> ・2013/03/11 keychain を使うパターンを追加した。 ・2015/06/17 gnupack-12.00 以降でも正常に動作するように調整した。 ---- #javascript(){{ <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-40267130-1', 'atwiki.jp'); ga('send', 'pageview'); </script> }}
&bold(){【お知らせ】} ---- &bold(){<2019/07/18 追記>} 現在の Windows 10 では、ssh-agent がバンドルされています。Cygwin との連携は確認していませんが、WSL では ssh-agent-wsl というものが開発され、連携して利用できるようになっています。 ・https://qiita.com/q1701/items/3cdc2d7ef7a3539f351d &bold(){<2015/06/17 追記>} gnupack-12.00 以降でも正常に動作するように調整しました。(調整以前は、/tmp のマウントポイントが深くなるなどの問題がありました。) &bold(){<2015/04/27 追記>} Cygwin を最新に Update したところ、keychain がエラーを吐くようになりました。 ・http://d.hatena.ne.jp/msfukui/20150416/1429173845 とりあえず、~/bin/ssh-setup.sh を次のとおりとし、ssh-agent.exe を一旦終了した後、NTEmacs を再起動することで回避できます。 # source ssh-keychain.sh source ssh-agent.sh # source ssh-pageant.sh &bold(){【本題】} ---- #co(){{ (方法1)、(方法2)と変遷してきて、結局この内容に行きつきました。 }} この設定は、trump-method に plink や pscp を使う場合には不要です。 plink や pscp を使う場合のパスフレーズの管理には、PuTTY 付属の Pageant を利用してください。 ・http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html ・http://ryo-san.sblo.jp/article/41542598.html 恐らく、win-ssh-agent.exe を使うのが一番簡単です。以降の設定は、コマンドラインで完結したい方がお使いください。 ・http://d.hatena.ne.jp/ganaware/20111102/1320222616 ---- 以下は設定例です。適当に自分の環境に合うように調整してください。 <作業手順> 0) ssh-keygen.exe を使って鍵を作成し、接続するサーバに公開鍵を登録する。この場合、パスフレーズを利用することが、今回の前提。   ssh-pageant.exe を使う場合は、PuTTY 付属の Pageant と連携するので、そちらで鍵の管理をする。   ※ ssh-keygen.exe で作成した秘密鍵を Pageant に取り込むには、PuTTYgen でインポートして変換するする必要がある。    このときに、PuTTY 付属の PuTTYgen では変換できない(エラーが出る)場合があるので、その場合は WinSCP 付属の PuTTYgen を使うこと。     http://kakikake2.wordpress.com/2012/03/18/ssh-key-generate-2/    Pageant も WinSCP に付属しているが、こちらは PuTTY 付属のものを使った方がよい。PuTTY 付属のものは、鍵の照会確認のダイアログがでる機能があるなど、    セキュリティ対策機能を持ったものとなっている。 1) ホームディレクトリに binディレクトリを作成する。( mkdir ~/bin ) 2) 1) で作成した binディレクトリに次のファイルを作成する。 ~/bin/ssh-keychain.sh ← ssh-agent.exe を keychain と連携して使う場合に必要 (keychain は、別途 Cygwin にインストールする必要あり) keychain ~/.ssh/id_rsa source ~/.keychain/$HOSTNAME-sh ~/bin/ssh-agent.sh ← ssh-agent.exe を単独で使う場合に必要 (上記のkeychain を使うのであれば、不要な設定) if [ -z "$SSH_AGENT_PID" -o -z "$SSH_AUTH_SOCK" ]; then ps | grep -q 'ssh-agent$' if [ $? -eq 0 ]; then source /tmp/ssh-agent.rc else ssh-agent -s | grep -v '^echo' > /tmp/ssh-agent.rc source /tmp/ssh-agent.rc ssh-add fi fi ~/bin/ssh-pageant.sh ← PuTTY 付属の Pageant を使う場合に必要。また、~/bin に ssh-pageant.exe も格納しておくこと。(https://github.com/cuviper/ssh-pageant/downloads) if [ -z "$SSH_PAGEANT_PID" -o -z "$SSH_AUTH_SOCK" ]; then ps | grep -q 'ssh-pageant$' if [ $? -eq 0 ]; then source /tmp/ssh-pageant.rc else ssh-pageant -s -q > /tmp/ssh-pageant.rc source /tmp/ssh-pageant.rc fi fi ~/bin/ssh-setup.sh ← 上記のシェルスクリプトのどれを使うかを切り替えるスクリプト source ssh-keychain.sh # source ssh-agent.sh # source ssh-pageant.sh ~/bin/emacs.sh #!/bin/sh source ssh-setup.sh exec /root/*emacs.exe # 起動する Emacs のインストールパスを指定する。左記は、gnupackの場合。 3) デスクトップなどに次のバッチファイルを置く (~/bin に置いて、そのショートカットをデスクトップに置くのも良いと思う。ショットカットのアイコンを NTEmacs のものに変更しておけば完璧です!) emacs.bat <Cygwin のインストールパス>/bin/bash -c "PATH=/bin:/home/bin emacs.sh" 4) Emacs を emacs.bat の実行で起動する。 注) ssh-agent.exe が起動していると、NTEmacs を終了しているときでも Cygwin のアップデートに失敗する場合があります。(プログラムが使用されてアップデートできないという警告が表示される。)   その際は、タスクマネージャーから ssh-agent.exe プロセスを終了させてください。 ---- <変更履歴> ・2013/03/11 keychain を使うパターンを追加した。 ・2015/06/17 gnupack-12.00 以降でも正常に動作するように調整した。 ---- #javascript(){{ <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-40267130-1', 'atwiki.jp'); ga('send', 'pageview'); </script> }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: