利用SSH Tunnel連線至內部網路

以往要連線回公司的內部網路,或是連線到某些限制只有公司IP可以使用的服務的時候通常是透過VPN來完成。但VPN有些麻煩的是它會利用VPN遠端的閘道取代原本的閘道,這樣一來原本閘道的路由就會斷線,其實有點麻煩,例如:我連到公司的VPN,但公司的網路會擋MSN Messenger的連線,所以連VPN的過程中MSN就會斷線了。(註:當然可以透過VPN會指定通過遠端閘道的路由規則)

所以如果在要連線的地方有一台開放SSH連線的Server的話,其實可以透過SSH Tunnel達到類似VPN的效果,透過SSH Tunnel可以連到遠端主機可以連到的任何主機,其實SSH Tunnel的運作簡單說就是透過SSH作為通道然後利用遠端主機作為跳板來連線。不過缺點是每個要連線的位置都需要設定,所以如果需要連10種服務就必須設定相對多次,數量一多設定起來其實也相當麻煩!

Continue reading “利用SSH Tunnel連線至內部網路”

[memo] Ubuntu Linux 10.04透過apt-get安裝JDownloader

JDownloader是一套基於Java的下載軟體,除了可以支持跨平台運作外,最大的特點就是可以自動下載像是Megauploader、Rapidshare、ZShare、訊6、Bandongo(這個好像壞掉很久了)、…等等,免費空間的檔案。在Windows上只要裝好JRE然後下載下zip檔就可以直接打開,

這邊介紹一下如何用Ubuntu Linux直接利用apt-get安裝下載JDownloader,透過apt來下載最大的好處是apt會幫忙handle安裝其他相依套件及更新程式的工作,一般直接利用官方下載執行檔安裝無法達到上述個功能,操作起來也比較麻煩。其實透過apt安裝其實只要下下面的三行指令,就可以把JDownloader的下載放到apt的repository裡面,然後更新apt的內容後就可以直接安裝JDownloader。

sudo add-apt-repository ppa:jd-team/jdownloader
sudo apt-get update
sudo apt-get install jdownloader

還是稍微說明一下上面指令的意義,第一行是把jdownloader加入到apt-get的套件庫(repository)中。另外可能會遇到類似下面這種gpg錯誤

gpg: 正在請求金鑰 6A68F637 自 hkp 伺服器 keyserver.ubuntu.com
gpg: 金鑰伺服器逾時
gpg: 從金鑰伺服器接收失敗: 金鑰伺服器錯誤

這是因為在加入repository的時候會去ubuntu的keyserver取得金鑰來驗證。但是取得金鑰的過程卻發生錯誤。這可能是因為取得金鑰是走 11371 port 而防火牆沒有開啟該port的連線的緣故。如果有遇到無法取得金鑰的問題可以測試看看該port是否可以聯通。

第二行指令是命令apt去更新repository的套件清單,這樣才能讀取到剛剛加入的repository。

第三行是讓apt去安裝jdownloader。

下載安裝完畢後,只要在指令列下jdownloader,程式就會開始運行。

簡單memo一下嚕。

[超易] 兩行指令搞定 Linux SSH登入免密碼

用ssh登入通常需要密碼,有些情況下SSH不想要輸入密碼,(例如:想要寫script進行ssh遠端操作,一來ssh連線輸入密碼的地方又必須是interactive的沒辦法在script裡面寫密碼,二來是密碼用明碼紀錄在script實在是不大安全)。本篇用最快速的方式介紹SSH免登入的設定方式,本次要介紹的方式就是在Client端產生一組金鑰,然後把把公開金鑰複製到Server的信任名單中。

關鍵知識

其實關鍵點只有下面這兩點(注意,這兩點所說的檔案是放在兩台不同的主機喔):

  • 要連接ssh的client端必須產生一組主機使用者的金鑰組。金鑰組可以在~/.ssh中找到,檔名是id_rsa(私鑰)、id_rsa.pub(公鑰)。(ps. rsa是加密演算法的名子,也可能利用其他的演算法對金鑰加密,如dsa等)。如果沒有產生金鑰組則必須產生一組,方法詳見Step1。一般來說,公鑰的檔名會像是這樣:

~/.ssh/id_rsa.pub

  • 把公鑰複製到Server端的信任名單中。一般來說會放在下面檔案中:

~/.ssh/authorized_keys

後面的範例是從金鑰產生到匯入信任清單的示範,如果有需要的話可以參考。

Step 1.  在Client端產生金鑰組

使用下面指令就可以產生金鑰,所有設定都用預設的就可以了,不需要特別設置。特別注意的是”Enter passphrase”的地方請直接壓enter,這樣才能不用輸入密碼。

ssh-keygen -t rsa

金鑰組檔案會預設放在~/.ssh/id_rsa是私鑰(private key)、~/.ssh/id_rsa.pub是公鑰(public key)。金鑰組務必保存好權限不要開太大,否則會造成安全性的問題。

2. 將公鑰的內容放置在Server的信任清單中

只要在client端下下面這個指令,這樣金鑰就會輸入進Server的信任清單中了。實在是很簡單吧。

cat ~/.ssh/id_rsa.pub | ssh server-user@server-host “cat >> ~/.ssh/authorized_keys”

另外特別還是要補充一下,因為金鑰如果可供寫入的話十分危險。所以許多人會將 ~/.ssh裡面的id_rsa.pub id_rsa authorized_keys三個檔案設定成唯獨,所以如果不成功的話,可能是server端的user把authorized_keys設定成唯獨。所以可以用下面這個指令先把authorized_keys檔案的讀寫先打開再下Step2的命令:

ssh server-user@server-host “chmod 600 ~/.ssh/authorized_keys”

設定完畢後記得再把權限改回來

ssh server-user@server-host “chmod 400 ~/.ssh/authorized_keys”

在Linux上移除舊檔案(過期的檔案) – 應用find指令

在管理主機的時候常常會遇到主機的應用裡面肥大又過時的log檔案,動輒單個檔案就上看GB等級的log檔日積月累下來恐怕沒有幾台主機可以吃得消。如果每次手動清理除了費時外主機一多也很難管理。其實最好的方式是在系統的排程(如cron)內寫進自動刪除的指令,我這邊所提供的解法是用find指令列出舊的檔案,然後把這些檔案刪除。

1. 用find指令在Linux上列出舊的檔案

find /var/log/apache2 -mtime +30

上面這個指令的意思是在/var/log/apache2底下,-mtime是限定修改時間(單位是24小時),後面接著的數字的表示法如下:

  1. +n:表示比n單位以上的檔案 (例如:+30,代表30天之前)
  2. n:表示比n單位之內的檔案 (例如:-30,代表30天之內)
  3. n:不給給正負號代表正好n單位的檔案。

此外還有time跟min也都是代表修改時間,但是後面接的數字的單位變成分鐘。此外其他相關的指令如下:

  1. -mtime、-mmin:檔案內容(data)最後的修改(modify)時間
  2. -atime、-amin:檔案最後被存取(access)的時間
  3. -ctime、-cmin:檔案狀態(status)最後被修改的時間(change)。 (註:檔案狀態是指:修改擁有者或群組(即調用chown、chgrp)、修改檔案存取權限(即調用chmod)

2. find資料後執行刪除指令

find到檔案後可以用-exec指令來進行相應的處理,下面這個指令示範的是直接下rm指令刪除

find /var/log/apache2 -mtime +30 -exec rm -f {} ;

-exec是表示找到檔案後要執行的指令,現在要執行移除檔案的指令rm,但rm指令會與使用者確認是不是要刪除檔案,因為每個檔案都會問所以挺麻煩的所以加入-f (force) 參數讓rm強制移除檔案。然後 {} 則代表指令接檔案名稱的地方,find會將找到檔案的檔名與路徑帶入到{} 這邊。最後加入; 代表指令結束,不可以省略。

希望這樣介紹可以讓大家更了解find這個指令。

停留在那兩年的回憶

永遠的畫面 from 張惠妹

http://www.youtube.com/watch?v=kXRdpoYeuXo

無意間~DJ放了這一首歌。讓我想起了研究所的時候~精哲在辦送舊的時候~在那個晚會中彈奏的這首歌曲~~

仔細地聆聽到歌詞中的一段「分開了不代表會改變」~回想起來~從畢業到現在其實也變得夠多了吧?

停留在過去的美好的時刻~總是令人開心與感傷~~我們的友誼就像化了水的糖衣一樣淡去了~只是能夠緊緊地將我們連繫在一起的幸而不是那些我們正追尋的名利與財富,而是那段無法忘卻的美好時光。

Ubuntu Linux 網卡設定範例 Sample

Ubuntu Linux在命令列下改網卡的IP的方式:

#修改時需要root權限
sudo vim /etc/network/interfaces

DHCP的設定

auto eth0
iface eth0 inet dhcp

手動設定static IP的方式

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.255
gateway 192.168.1.254

聖雄甘地的沉默與堅持的力量

下午看了關於1982年拍的甘地

劇中提到聖經中的提到的「敵人打你的右臉,左臉也讓他打」的這段話,劇中人說得相當好(我不知道甘地是不是真的有這樣說過)..原文是「you must show courage be willing to take a blow, several blows, to show  you won’t strike back, nor will you be turned aside. And when  you  do that, it calls on something in human nature that makes his hatred for you decrease and his respect increase」(你必須展現出你的勇氣去承受這些打擊,來展現出你不會反擊也不會退讓,如果你做到這樣就會喚醒人類的本性,對方對你的仇恨會減少、尊敬會增加)…想一想這句話的道理似乎貫穿了聖雄甘地的一生,主張用非暴力、不合作的方式主張反對的立場。

另外在劇中的另一句話「They may torture my body, break my bones, even kill me, then they will have my dead body. NOT MY OBEDIENCE!」(他們可以折磨我的身體,敲斷我的骨頭,甚至可以殺了我,但是他們只能得到我的屍體、而不是我的服從)

整片很長,我沒有辦法整理得很好,雖然片長有191分鐘這麼長,但是還是值得花時間去觀賞的一部片,不愧是IMDB上8分的好片呢!

另外附上我之前很喜歡甘地說的一句話「First they ignore you, then they laugh at you, then they fight you, then you win」

2010-06-09 侯硐貓 & 九份貓

好久沒來猴硐了~上一次是貓友社辦風喵趣的時候算一算也是兩個多月前的事情了,應Sean的邀請今天搭了順風車來到了這個地方。

隔了這麼一段不算長的時間卻可以感覺到侯硐的改變,媒業館開幕在即,一旁的裝修工人正加速趕工,一走進貓村發現好多喵喵都有皮膚病的狀況,然後熟悉的黑鼻、彎尾、流鼻涕、美寶都沒看到,回來才發現好多貓貓都進了醫院,又看到了好多小小貓(新移民?)的出現,這個地方彷彿可能一夕變成我不認識的樣子。

↓ 國裕媒產的招牌仍在那邊,可是一旁的裝修工人還有挖土機,似乎宣誓著這個地方將變得不一樣。
IMG_0780

Continue reading “2010-06-09 侯硐貓 & 九份貓”

生日快樂…給28歲的我

這已經不知道是第幾年我在我的部落格中祝自己生日快樂,曾經我忌妒喧鬧的生日Surprise,但我想今年這個生日還是低調的過吧!甚至連Facebook的生日都設為隱藏,生日的前幾天在夏慕尼預先享用生日大餐的時候旁邊的桌子不斷的傳來工作人員大唱生日快樂的歌聲,一晚下來至少也聽到五六次以上,精哲還說「這麼多人生日啊!」連同桌的夥伴似乎都沒有想到這是我計畫的小小生日趴。

在不知不覺中突然驚覺自己竟然也28歲了,說來也挺讓人難過的都活到這把年紀竟然還一事無成,自己也蠻失望的。不知道是第幾年許下的第三個願望都是「小貓快點來吧」但實際上小貓都只有經過而已,是我太心急了吧?一伸手就想摸貓貓,所以一下就跳開了吧?

今年生日,我忘了幫自己買蛋糕,忘了許下最重要的第三個願望,忘了快樂,卻沒有忘記憂愁。一直生活再煩惱與需要的人生實在也是一種悲哀吧!?

上個月我逛DSLR板的時候,看到有個人生日結果他女朋友帶他去億華買了小小白當禮物。這篇文章剛剛打在我空缺的兩個漏洞,一個是女朋友另一個是高級的望遠鏡,其實看著這篇文章的時候的心情是忌妒大於羨慕的,隨之而來的又是憂愁。每年生日的時候,其實也不期待別人能送我什麼但是總會覺得該對自己好一點,前年我買了整組的DSLR送給自己、去年我又買了17-55 F2.8,今年呢?其實我本來最想買的是小小白(70-200 F4),但是左思右想最後我把ML3的禮物兌了現買了腳踏車,Giant Talon V 一方面想減肥另一方面也想多運動一下、改變一下自己的生活習慣。

IMG_0999

希望可以變瘦一點、可以變健康一點、可以有小貓喜歡我。我把三個願望都給了自己,這樣的願望會不會太過分了一點?會不會太自私了一點?