<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>林光生活兩光過 &#187; 玩物誌</title>
	<atom:link href="http://blog.yzlin.org/category/%e5%85%a9%e5%85%89%e7%94%9f%e6%b4%bb/%e7%8e%a9%e7%89%a9%e8%aa%8c/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.yzlin.org</link>
	<description>人生就該悠閒地過，忠實地記錄下人生的軌跡</description>
	<lastBuildDate>Thu, 21 Jan 2010 15:46:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SSH Agent Forwarding on Putty &amp; Screen</title>
		<link>http://blog.yzlin.org/2008/03/14/19/</link>
		<comments>http://blog.yzlin.org/2008/03/14/19/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 12:25:57 +0000</pubDate>
		<dc:creator>yzlin</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[玩物誌]]></category>
		<category><![CDATA[電腦技術]]></category>

		<guid isPermaLink="false">http://blog.yzlin.org/?p=19</guid>
		<description><![CDATA[大家在登入工作站或是伺服器的時候，最常使用到的應該是 Putty (Pietty, PuttyTray, &#8230;etc) 這類提供 SSH 協定的終端機，最傳統也最麻煩的方式就是每次登入的時候都輸入密碼，比較好的方式就是使用 Key Authentication，創造一組 Public Key 和 Private Key，當登入的時候比對，如果 Match 便直接允許登入，不再需要輸入密碼。
但是，在其他的狀況下，這樣的方式也許不是相當適合。以我來說，我常常登入到一台主要的機器，然後再透過這台機器連到其他機器，而在工作當中，也可能在這些機器之間互連，這代表我必須將同一組 Public/Private Key 都放一份到這些機器中，或是建很多組 Public/Private Key 來做這件事，但對於安全性而言，這已經等同於把 Private Key 放到上面給人用了。幸好，SSH 提供了 Agent Forwarding 的功能，能夠讓我只需將 Private Key 放在自己的 Notebook 上，然後便可在這些機器之間暢行無阻了。有關 SSH Key Authentication 及 Agent Forwarding 相關的運作流程及知識，可以參考這裡，這篇只是教大家如何設定。
1. Basic SSH Key Authentication
要做到基本的 SSH Key Authentication，首先便是要產生一組獨一無二的 Key Pair (Public/Private Key)，在 Windows 上我使用 [...]]]></description>
			<content:encoded><![CDATA[<p>大家在登入工作站或是伺服器的時候，最常使用到的應該是 Putty (Pietty, PuttyTray, &#8230;etc) 這類提供 SSH 協定的終端機，最傳統也最麻煩的方式就是每次登入的時候都輸入密碼，比較好的方式就是使用 Key Authentication，創造一組 Public Key 和 Private Key，當登入的時候比對，如果 Match 便直接允許登入，不再需要輸入密碼。</p>
<p>但是，在其他的狀況下，這樣的方式也許不是相當適合。以我來說，我常常登入到一台主要的機器，然後再透過這台機器連到其他機器，而在工作當中，也可能在這些機器之間互連，這代表我必須將同一組 Public/Private Key 都放一份到這些機器中，或是建很多組 Public/Private Key 來做這件事，但對於安全性而言，這已經等同於把 Private Key 放到上面給人用了。幸好，SSH 提供了 Agent Forwarding 的功能，能夠讓我只需將 Private Key 放在自己的 Notebook 上，然後便可在這些機器之間暢行無阻了。有關 SSH Key Authentication 及 Agent Forwarding 相關的運作流程及知識，可以參考<a href="http://www.unixwiz.net/techtips/ssh-agent-forwarding.html" target="_blank">這裡</a>，這篇只是教大家如何設定。</p>
<h4>1. Basic SSH Key Authentication</h4>
<p>要做到基本的 SSH Key Authentication，首先便是要產生一組獨一無二的 Key Pair (Public/Private Key)，在 Windows 上我使用 puttygen。執行 puttygen 可以看到下面的畫面：<br />
<a title="puttygen 1 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332910792/"><img src="http://farm4.static.flickr.com/3246/2332910792_999ce41d38_o.jpg" alt="puttygen 1" width="483" height="462" /></a></p>
<p>按下 &#8220;Generate&#8221; 產生一組 Key Pair，在產生的過程當中，它會要求你隨意移動滑鼠遊標，然後透過移動來亂數產生這組 Key Pair：<br />
<a title="puttygen 2 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332910804/"><img src="http://farm3.static.flickr.com/2313/2332910804_e1ff140cc9_o.jpg" alt="puttygen 2" width="480" height="460" /></a></p>
<p>結束後便會有一組獨一無二的 Key Pair 了：<br />
<a title="puttygen 3 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332910826/"><img src="http://farm3.static.flickr.com/2134/2332910826_a17b334151_o.jpg" alt="puttygen 3" width="468" height="327" /></a></p>
<p>我們將產生的 Public Key 複製貼到：</p>
<blockquote><p>$HOME/.ssh/authorized_keys</p></blockquote>
<p>然後，再按下 &#8220;Save private key&#8221; 將其對應的 Private Key 存起來供 SSH Agent 使用。在中間可以看到 &#8220;Key passphrase&#8221;，它可以用來保護你的 Private Key，在進行 Key Authentication 的時候，會要求你輸入設定的 Key Passphrase，如果不符合，即使拿到了 Private Key 也是無法成功通過認證。</p>
<p>接著我們要利用 SSH Agent 來幫我們管理這些 Key Pair，在 Windows 中，我使用 pageant；執行 pageant，會在右下角看到它的 icon 出現，點選右鍵可以看到它的功能：<br />
<a title="pageant 1 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332084531/"><img src="http://farm3.static.flickr.com/2066/2332084531_c999f8c76f_o.jpg" alt="pageant 1" width="134" height="154" /></a></p>
<p>&#8220;View Keys&#8221; 可以檢視現在加入的 Private Key 有哪些，&#8221;Add Key&#8221; 顧名思義就是加入一個 Private Key，我們現在就是要將剛剛產生的 Private Key 加入到 pageant，在加入的時候，如果你剛剛有設定 Key passphrase，便要要求你輸入，這樣 pageant 在幫你進行認證的時候便不需要再手動輸入 Key passphrase 了：<br />
<a title="pageant 2 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332084561/"><img src="http://farm4.static.flickr.com/3109/2332084561_741a5985ed_o.jpg" alt="pageant 2" width="489" height="294" /></a></p>
<p>加入 Private Key 後，便可以看到我們加入的 Key 已經記錄下來了：<br />
<a title="pageant 3 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332084593/"><img src="http://farm4.static.flickr.com/3184/2332084593_e5bbc28933_o.jpg" alt="pageant 3" width="488" height="291" /></a></p>
<p>然後透過 pageant 來執行我們在 Putty 當中設定的 Session，便會自動幫你進行認證，認證成功便會看到這樣的訊息：<br />
<a title="putty 2 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332910742/"><img src="http://farm3.static.flickr.com/2356/2332910742_c5087bf9bb_o.jpg" alt="putty 2" width="494" height="146" /></a></p>
<p>要特別注意的是，很多人常常會問，雖然不必再輸入密碼了，但是為什麼還是要輸入帳號，其實只需要在 Putty 當中設定好預設登入的帳號名稱即可：<br />
<a title="putty 1 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332910710/"><img src="http://farm4.static.flickr.com/3231/2332910710_f9e9b21f50_o.jpg" alt="putty 1" width="454" height="432" /></a></p>
<h4>2. SSH Agent Forwarding</h4>
<p>要達到 SSH Agent Forwarding，我們必須在 Putty 的設定中動點手腳：<br />
<a title="putty 3 by Yi-Jheng, Lin (Alex), on Flickr" href="http://www.flickr.com/photos/yzlin1985/2332910766/"><img src="http://farm4.static.flickr.com/3289/2332910766_093404bf1b_o.jpg" alt="putty 3" width="453" height="432" /></a></p>
<p>將 &#8220;Allow agent forwarding&#8221; 選取就可以了。然後只需要將同一份 Public Key 放到其他會透過第一部機器連出的機器上，在第一部機器使用 SSH 的時候下：</p>
<blockquote><p>ssh -A &lt;SERVER_HOST&gt;</p></blockquote>
<p>便可以將第一台機器的 agent forward 出去。如此一來，只需要同一份 Public/Private Key 便可以在各台機器中暢行無阻，而且不用擔心 Private Key 需要放出去的風險了。</p>
<h4>3. SSH Agent Forwarding on Screen</h4>
<p>在試的過程中，如果有使用 Screen 這個好用工具的人，一定會發現，一旦進入到 Screen 當中，SSH Agent Forwading 似手就失效了，但是離開 Screen 一切又正常，為何會這樣？</p>
<p>主要是因為使用 SSH Agent Forwarding 會參考一個環境變數 &#8220;SSH_AUTH_SOCK&#8221;，這個在 Screen 當中並不會被帶入，因此會失效。所以如果要讓 SSH Agent Forwarding 能夠在 Screen 下正常運作，便必須要做一些手腳，在網路上其實有蠻多方法可以用，大部份是將 ssh 和 screen 都做一個 wrapper，主要的想法都是在進入 screen 後自動建立環境變數 (對 .screenrc 下手)，但這樣的想法只能確保 screen 自動建立以及已存在的視窗，對於新建立的視窗可能就沒辦法做到，所以我自己寫了個 shell script &#8220;setScreenSshAgent&#8221;：</p>
<blockquote>
<pre>#! /bin/sh
MKDIR=`which mkdir`
LN=`which ln`
if [ -n "$SSH_AUTH_SOCK" ]; then
    if [ ! -d "$HOME/.screen" ]; then
        ${MKDIR} -p "$HOME/.screen"
    fi

    if [ -z "$WINDOW" ]; then
        ${LN} -fs "$SSH_AUTH_SOCK" "$HOME/.screen/ssh-agent-screen-$HOST"
    fi
fi</pre>
</blockquote>
<p>這支程式主要是將當時的 SSH_AUTH_SOCK link 到 &#8220;$HOME/.screen/ssh-agent-screen-$HOST&#8221; 下，然後在 .cshrc 下加入：</p>
<blockquote>
<pre>$HOME/bin/setScreenSshAgent
if ($?WINDOW) then
    setenv SSH_AUTH_SOCK "$HOME/.screen/ssh-agent-screen-$HOST"
endif</pre>
</blockquote>
<p>這樣子就能在登入時更新最新的 SSH_AUTH_SOCK 到 &#8220;$HOME/.screen/ssh-agent-screen-$HOST&#8221; 中，然後在 Screen 建立新的視窗也會自動將 SSH_AUTH_SOCK 設定到此 link，如此一來，SSH Agent Forwarding 便能正常運作。</p>
<p><strong>Update: </strong>把一些設定改一下，原本的 .cshrc 裡的設定會讓在非家目錄下執行 Shell 出現找不到的問題，所以改成絕對路徑。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yzlin.org/2008/03/14/19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why?! Leopard 這麼會當？！</title>
		<link>http://blog.yzlin.org/2008/01/31/15/</link>
		<comments>http://blog.yzlin.org/2008/01/31/15/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 19:32:05 +0000</pubDate>
		<dc:creator>yzlin</dc:creator>
				<category><![CDATA[兩光生活]]></category>
		<category><![CDATA[玩物誌]]></category>
		<category><![CDATA[Leopard]]></category>

		<guid isPermaLink="false">http://blog.yzlin.org/2008/01/31/15/</guid>
		<description><![CDATA[之前有提到我的 MacBook 自從換了 leopard 之後就當機連連，讓我一度對 Apple 失去信心！= =
不過上次到台北參加某 Y 社的活動時，閒著沒事就抓了套 memory testing 的軟體下來測，不測還好，一測就看到螢幕上滿滿的 &#8220;Failure&#8230;!@#$@^&#38;&#8221;，不會真的是記憶體的問題吧！
活動結束就馬上跟麻大帥衝去光華優仕換記憶體，新的記憶體一裝上，開機之後一直到現在沒有再當過，連程式執行的速度也飛快，我真佩服自己能夠忍受之前的那種工作機環境。
所以，鄉親啊！下次換記憶體的時候記得先測測啊！
]]></description>
			<content:encoded><![CDATA[<p>之前有提到我的 MacBook 自從換了 leopard 之後就當機連連，讓我一度對 Apple 失去信心！= =</p>
<p>不過上次到台北參加某 Y 社的活動時，閒著沒事就抓了套 memory testing 的軟體下來測，不測還好，一測就看到螢幕上滿滿的 &#8220;Failure&#8230;!@#$@^&amp;&#8221;，不會真的是記憶體的問題吧！</p>
<p>活動結束就馬上跟麻大帥衝去光華優仕換記憶體，新的記憶體一裝上，開機之後一直到現在沒有再當過，連程式執行的速度也飛快，我真佩服自己能夠忍受之前的那種工作機環境。</p>
<p>所以，鄉親啊！下次換記憶體的時候記得先測測啊！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yzlin.org/2008/01/31/15/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GMail 新版上線</title>
		<link>http://blog.yzlin.org/2007/10/24/12/</link>
		<comments>http://blog.yzlin.org/2007/10/24/12/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 03:01:04 +0000</pubDate>
		<dc:creator>yzlin</dc:creator>
				<category><![CDATA[兩光生活]]></category>
		<category><![CDATA[玩物誌]]></category>

		<guid isPermaLink="false">http://blog.yzlin.org/?p=12</guid>
		<description><![CDATA[整體速度變快很多，而且整理通訊錄的工具變得很好用了，舊版的真的不怎麼好用&#8230;不過我發現 Firefox 上，建立 Filter 的功能最後一個 Step，選取 Tag 的下拉式選單不能用，只好轉用 Safari 去設，希望 google 可以把這個 bug 早點修好！
整體而言，這次的改版不錯 &#8211; 速度的提升和好用的通訊錄工具。
]]></description>
			<content:encoded><![CDATA[<p><img style="float: right; margin-left: 20px; margin-right: 20px;" src="http://farm3.static.flickr.com/2083/2229873099_f1f23c6fe8.jpg" height="346" width="500" />整體速度變快很多，而且整理通訊錄的工具變得很好用了，舊版的真的不怎麼好用&#8230;不過我發現 Firefox 上，建立 Filter 的功能最後一個 Step，選取 Tag 的下拉式選單不能用，只好轉用 Safari 去設，希望 google 可以把這個 bug 早點修好！</p>
<p>整體而言，這次的改版不錯 &#8211; 速度的提升和好用的通訊錄工具。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yzlin.org/2007/10/24/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FilesTube &#8211; 好用的檔案搜尋</title>
		<link>http://blog.yzlin.org/2007/10/17/13/</link>
		<comments>http://blog.yzlin.org/2007/10/17/13/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 03:34:58 +0000</pubDate>
		<dc:creator>yzlin</dc:creator>
				<category><![CDATA[兩光生活]]></category>
		<category><![CDATA[玩物誌]]></category>

		<guid isPermaLink="false">http://blog.yzlin.org/index.php/2007/10/17/13/</guid>
		<description><![CDATA[FilesTube，乍看之下會覺得跟 YouTube 很像，不過它的功能可不是用來分享影片，而是專門搜尋各大網路檔案空間的檔案 (RS, MegaUpload, &#8230;)，這些網路檔案空間多半沒有提供搜尋的功能，不然就是得付費才能擁有，現在有了這項服務，便可以很快地搜尋到你想要的檔案了。
隨便打了一個 naruto 便跑出一大堆檔案出來。
]]></description>
			<content:encoded><![CDATA[<p><img style="float: left; margin: 10px;" src="http://www.filestube.com/pub/images/logo.gif" height="103" width="195" /><a target="_blank" title="http://www.filestube.com/" href="http://www.filestube.com/">FilesTube</a>，乍看之下會覺得跟 YouTube 很像，不過它的功能可不是用來分享影片，而是專門搜尋各大網路檔案空間的檔案 (RS, MegaUpload, &#8230;)，這些網路檔案空間多半沒有提供搜尋的功能，不然就是得付費才能擁有，現在有了這項服務，便可以很快地搜尋到你想要的檔案了。</p>
<p>隨便打了一個 naruto 便跑出一大堆檔案出來。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yzlin.org/2007/10/17/13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
