Gnupackでのssh-setup設定
gunpackでインストールした,cygwinとemacsからsshで他のマシンに接続する時に,
いちいちパスフレーズを入れるのが面倒なので,ssh-agentの設定をしてみた.
最初は,cygwinのターミナルだけだったが,emacsからもできるようにした.
sshでパスフレーズでアクセスするところまで,可能になっているとする.
(1)~/bin/ssh-setup.sh
#!/bin/sh
# ssh-setup.sh
# http://www49.atwiki.jp/ntemacs/pages/24.html
# http://www.snowelm.com/~t/doc/tips/20030625.ja.html
if [ -z "$SSH_AGENT_PID" -o -z "$SSH_AUTH_SOCK" ]; then
ps | grep -q 'ssh-agent$'
if [ $? -eq 0 ]; then
echo "ssh-agent: Identity is already stored."
source ~/.ssh-agent-info
else
echo "ssh-agent: restart...."
ssh-agent -s | grep -v '^echo' > ~/.ssh-agent-info
source ~/.ssh-agent-info
ssh-add
fi
fi
(2)~/bin/startup-emacs.sh
#!/bin/sh
# startup-emacs.sh
# http://www49.atwiki.jp/ntemacs/pages/24.html
gnupack="C:/gnupack_devel-13.06-2015.11.08/"
source /home/bin/ssh-setup.sh
exec $gnupack/startup_emacs.exe
(3)startup-emacs.bat
@echo off
rem startup-emacs.bat
set GNUPACK=C:\gnupack_devel-13.06-2015.11.08
@echo on
%GNUPACK%\app\cygwin\cygwin\bin\bash -c "PATH=/bin:/home/bin startup-emacs.sh"
timeout 1
(4)~/.bashrc
source ~/bin/ssh-setup.sh
を設定に追加
□emacsを起動する時
startup-emacs.bat を実行する.
その中で,startup-emacs.sh を呼び出し,
さらにその中で,ssh-setup.sh を呼び出し,ssh-agentの設定をする
※起動途中でwindowsのコマンドプロンプトの画面が出てきます
□cygwinのターミナルを起動する時
~/.bashrc の中でssh-setup.sh を呼び出し,ssh-agentの設定をする