June 13th, 2008
Uncategorized
ssh公鑰認証如何實現安全性與方便性兼顧?就要使用管理密鑰的工具了。
其實ssh自帶的ssh-agent就是幹這個的。不過,直接用ssh-agent還是有點不方便。最好的方法是使用一個叫做keychain的ssh-agent的前端。這裏就不多說ssh-agent,直接說keychain了。
安裝。發行版應該都帶的吧。Debian/Ubuntu之流,直接
sudo aptitude install keychian
gentoo的
emerge keychain -pv
emerge keychain
在啟動腳本(.bash_profile之類)裏加上類似如下的東東,
/usr/bin/keychain ~/.ssh/id_dsa
source ~/.ssh-agent > /dev/null
這樣就可以了。以後,ssh只有第一次會要輸密碼,以後的就在cache裏讀了。這cache將一直保持到你重啟或關機為止。
June 13th, 2008
Uncategorized
上回說了密碼認証,這回說下公鑰認証。
公鑰用來加密,私鑰用來解密公鑰加密的東西。你把公鑰交給遠程主機,私鑰自己留下。ssh的時候,遠程主機根據你的用戶名,找到你的公鑰,然後生成一個隨機數,用你的公鑰加密了發給你,你用私鑰解密了再發回去。遠程主機看你解密是否正確,來判斷你是否是冒牌的。這很方便,你只要一對密鑰就夠了,同一公鑰可以發給多個遠程主機,遠程主機A只有你的公鑰,沒有私鑰,所以無法冒充你跑到遠程主機B上。
既然私鑰如此重要,你一定要保管好。ssh會提醒你,如果私鑰的權限不對頭。而且,生成密鑰的時候,ssh會讓你輸入一個密碼,用這密碼把私鑰加密起來。這樣即使別人偷到私鑰,不知密碼也束手無策。
公鑰有RSA和DSA兩種。老版的ssh只支持RSA。不過這年頭用這麽老舊的ssh的地方也不多了。因為DSA是第2代,比RSA先進不少,所以盡量用DSA。這裏也只講DSA相關的做法。
生成你的密鑰。
ssh-keygen -t dsa
會詢問你存儲密鑰的位置,就選默認的~/.ssh/id_dsa和~/.ssh/id_dsa.pub就可以了。會提示你設置密碼,注意這個密碼是用來加密你的私鑰的密碼,和遠程主機的用戶密碼一點關系都沒有。
生成完畢後,你需要把公鑰交給遠程主機。
有些遠程主機提供一個網頁表單來提交公鑰。對於這類遠程主機,你只需要把~/.ssh/id_dsa.pub的內容粘貼到文本框裏提交就可以了。
對於其他的,你需要拷貝過去:(要用到scp,通過ssh的本地和遠程之間的cp)
scp ~/.ssh/identity.pub weakish@remotehost:
會提示你密碼,因為現在公鑰認証還沒有建立,所以你仍然用老辦法,按密碼認証的方法,輸入遠程主機的密碼。
然後再ssh過去,把剛剛拷貝過去的公鑰放到該放的地方,同樣,按密碼認証的方法:
ssh -l weakish remotehost
mkdir .ssh
cat identity.pub >> ~/.ssh/authorized_keys2
exit
現在,你再ssh的時候,就是使用公鑰認証了。提示密碼的時候,是本地的ssh客戶讓你輸入解密私鑰的密碼了,而不是遠程主機讓你輸入用戶密碼了。
這樣安全性已經大增了。冒牌貨要偷到你的密鑰,還要知道你的密碼纔能冒充你了。但是,每次都要輸密碼,不太方便。
你可以生成的時候提示設密碼的時候直接回車,設一個空密碼,這樣雖然不提示密碼,但是安全性大減啊!所以更好的辦法是使用專門的工具來管理,保證安全的同時,提供方便。
June 13th, 2008
Uncategorized
ssh是居家旅行、殺人越貨之必備良器。
ssh認証分為密碼認証和公鑰認証兩種,通訊都是加密的,不會有密碼被偷之虞。
先說使用密碼認証,使用如下命令連接遠端主機:
ssh -l weakish remotehost
weakish是我在遠程主機的用戶名。remotehost可以是域名,也可以是ip。
如果遠程主機的用戶名和本地的用戶名是一致的,可以省略:
ssh remotehost
有些遠程主機使用的不是默認的22端口,那就用p指定端口,比如,假設使用2222端口:
ssh -l weakish -p 2222 remotehost
但是,用密碼認証安全性不如公鑰認証。建議盡可能使用公鑰認証。
June 13th, 2008
Uncategorized
本來是基於Elgg的面向ubuntero的SNS,但是現在已經撤掉了。要改成宣傳Ubuntu的blog了。那“左右不是臉”的freesocial.net也關閉好久了。
June 12th, 2008
Uncategorized
首先看一下狀況:(確保分區已卸載。如果上次沒有幹淨地卸載,先掛上,再卸載之。)
sudo xfs_repair -n device
輸出類似是這樣的:
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan (but don't clear) agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
...
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
...
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
- traversing filesystem starting at / ...
- traversal finished ...
- traversing all unattached subtrees ...
- traversals finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
對了,要交代一下,xfs_repair對attr的支持有限。如果你的xfs文件系統用到很多attr的話,那還是用xfs_check靠譜些。
如果Phase 1就報錯,那用xfs_repair是不太可能修復了。如果你沒有備份的話,那就比較糟糕了。
如果是Phase 2或以後報錯,應該可以修復。運行 sudo xfs_repair device 修復文件系統。(也許你想先把數據恢復出來再說。建議這麽幹。當然如果你沒有足夠的空間的話,或者已經有備份的話,也可以直接修復。)
運行後就好了。
如果修復失敗,請閱讀出錯信息。按照出錯信息採取相應的行動,比如,加相應的參數。筆者就遇到修復失敗後,使用L參數成功修復的情況。
如果還不行,也不用太擔心。只要不是檢測時不是Phase 1就報錯,還是可以把數據恢復出來的。
以ro,norecovery參數掛載分區
sudo mount -o ro,norecover device /mount/point
然後把數據拷出來,或者,xfsdump把數據復制出來,然後把原來的分區格式化,再用xfsres×e還原回去。
June 12th, 2008
Uncategorized
xfs_fsr是用於xfs文件系統的碎片整理工具。
June 12th, 2008
Uncategorized
扔掉你的泰迪熊,換上gnu?

據說還是限量版。不過,看上去實在是醜啊!也許是我的品位低吧。
June 4th, 2008
Uncategorized
看《見龍卸甲》,趙雲說:“上武侯戰車。”同學暈:“諸葛亮還沒死。”今天看到一休,是24歲時纔得到“一休宗純”這個命名。但是《聰明的一休》裏,都叫“一休”的說。
June 3rd, 2008
Uncategorized
那amule,搜索之後,關掉最後一個tab,必死。(我是說我這裏必死。)debbugs上已經有人報告過了,倒沒有“必”,而是說發生了好幾次。這還好,畢竟幾次下來,心理上有准備。要命的是,經常莫名其妙地崩潰。
幹脆,replace it with mldonkey。加到啟動項裏,開機即起,方便。默認可以連多個server,對我這種下冷門資源居多的,估計有用。
GUI程序沒必要的。telnet 127.0.0.1 4000或者瀏覽器到127.0.0.1:4080就是。配置項目多得頭暈,不過默認的就不錯。稍微設置了幾個。主要是temp,incoming,log的地方改了下,系統分區沒多少空間了。
導入aMule的Temp很easy:
telnet 127.0.0.1 4000
import_temp /path/to/Amule/Temp
剛開始不對頭,原來是aMule的Temp的權限不大對。fix權限後重來就OK了。
瀏覽器關聯,Iceweasel或firefox或小熊貓或red panda的,有插件可用,addons.mozilla.org搜mldonkey即可。
任意瀏覽器的,可以用一個submit腳本。具體,去論壇看zhan的文章。也有人傳言,這submit腳本mldonkey自帶的。
June 3rd, 2008
Uncategorized
开始用firefox 3.0rc1了。大部分插件都跟上了。少数没跟上的怎么办?
首先,到mozdev或者插件的主页去看看。有些插件已经出来新版了,但是addons.mozilla.com发布需要编辑确认了纔能發布。所以可能會有一點(其實不是一點)滯後。
其次,就是硬來了。硬來難免有風險,慎重。流傳較廣的是手動解壓.xpi(.xpi其實就是個zip哦),改動裏面源文件記錄的版本範圍。方便一點的是安裝Nightly Tester Tools插件,安裝了這個後,addons安裝接口就有強行安裝的選項了。原來是監測兼容性,發現不兼容就不裝了。有了這個插件是讓你選強裝或者cancel啦。
還有些附帶功能,比如titlebar自定義之類,此處按下不表。
Update: 謝謝fcicq指出,還可以改Extensions.checkCompatibility,無需安裝插件。這應該是最簡單、最方便的法門了。詳情