顯示具有 ssh 標籤的文章。 顯示所有文章
顯示具有 ssh 標籤的文章。 顯示所有文章

2012年12月31日 星期一

我的ibt安裝與自動啟動之設定法

這段引用自http://www.mobile01.com/topicdetail.php?f=347&t=1973717&p=11
開始吧...
設定ibt-1283的網路,使用固定IP(浮動IP的SMB.CONF我不會設)
將ibt-1283連上internet
使用PC telnet 到ibt-1283
用root登入
確認一下上網有沒有成功
ping一下tw.yahoo.com
看看回應是不是alive
/ # ping tw.yahoo.com
tw-tpe-fo.fyap.b.yahoo.com is alive!
接下來下面#中間的指令一行一行的執行(我用windows 7 內建的telnet,全部複製,貼到telnet去,等幾分鐘就好了)
#
mkdir /tmp/hdd/root/opt
mount -o bind /tmp/hdd/root/opt /opt
mkdir /tmp/hdd/root/package
mount -o bind /tmp/hdd/root/package /tmp/package
mkdir /opt/tmp/ipkg
cd /opt/tmp/
wget http://www.kovari.priv.hu/download/ipkg-cl.tgz
tar -xvf ipkg-cl.tgz
chmod +x /opt/tmp/ipkg-cl
rm ipkg-cl.tgz
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
./ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
./ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk
rm *.ipk
cd /opt/bin
./ipkg update
./ipkg install samba
 ./ipkg install cron
./ipkg install openssh
 ./ipkg install  openssh-sftp-server
./ipkg install bftpd
./ipkg list_installed
#
ipkg list_installed看一下有沒有samba,bftpd
如果沒有,我也不知道,看你要放棄還是要重做一次
如果有那就只剩設定檔了
下載附檔bftpd.conf,smb.conf,rcS
用ultraEdit修改(不要轉成Dos格式)
修改smb.conf
interfaces = 172.16.1.16/16
hosts allow = 172.16.1.16/16
我的ip是172.16.1.16
如果你的ip是用192.168.X.X
interfaces = 192.168.X.X/24
hosts allow = 192.168.X.X/24
bftpd.conf應該可以直接用
如果你要修改請自行google
將bftpd.conf,smb.conf,rcS放到隨身碟的根目錄
接上ibt-1283後,copy到/opt/etc
在telnet上輸入以下指令(sdb1是USB隨身碟mount後的目錄,有可能是sda1,sdc1....可以輸入mount看一下)
cp /tmp/usbmounts/sdb1/bftpd.conf /opt/etc
cp /tmp/usbmounts/sdb1/smb.conf /opt/etc
cp /tmp/usbmounts/sdb1/rcS /usr/local/etc
rcS我不知道可不可以用copy的
如果不行請用vi(請google vi 的用法)
在telnet上輸入以下指令
vi /usr/local/etc/rcS
按一下鍵盤的A
將游標一直往下移到不能移
copy#間的文字貼過去
按一下鍵盤的ESC鍵
輸入:wq
再按一下enter
#
sleep 60
mount -o bind /tmp/hdd/root/opt /opt
sleep 2
/opt/sbin/smbd -s /opt/etc/smb.conf -D
/opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
#
做完以上後
在telnet上輸入reboot
重啟後再telnet到ibt-1283
root登入後
等個一兩分鐘
輸入ps看看
598 root 2968 S /opt/sbin/smbd -s /opt/etc/smb.conf -D
601 root 376 S /opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
610 root 2940 S /opt/sbin/smbd -s /opt/etc/smb.conf -D
614 root 468 S /bin/sh /usr/sbin/pppoe-connect
667 root 452 S /usr/sbin/pppd pty /usr/sbin/pppoe -p /var/run/pppoe.
669 root 416 S sh -c /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pi
671 nobody 128 S /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pid.pppo
876 root 992 R N /tmp/package/btpd
952 root 3696 S /opt/sbin/smbd -s /opt/etc/smb.conf -D
samba跟bftpd都有起來了
大功告成了
關於rcS的修改
#
sleep 60
#休息60秒,等硬碟mount上來
mount -o bind /tmp/hdd/root/opt /opt
#把/tmp/hdd/root/opt mount成 /opt
sleep 2
#休息2秒
/opt/sbin/smbd -s /opt/etc/smb.conf -D
#啟動SAMBA
/opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
#啟動BFTPD
#撥接上網,改完後,好像不會自動上網(改前會嗎?)
底下是我自己的設定法:
我在ipkg安裝好之後還除了安裝如上述之內容外,還安裝的cron與openssh,我的目的是要讓ibt能自動將資料與我的nas資料同步,而ibt內定只能執行telnet所以只好自己安裝openssh,然而安裝好openssh後卻無法以root帳法登入(因為密碼怎麼打都不對!不知怎麼?),所以我只好改以試著讓ssh登入以不需密碼而直接以金鑰由nas登入的方法嘗試,然因為ibt內建root的家目錄已沒空間了所以用這編文章中qnap與一般linux主機間要ssh金鑰登入,不用密碼的方法!之建立金鑰的方法建也不成,所以我打開/etc/passwd這個檔案,改root的家目錄,把它改成如下
root::0:0:root:/tmp/hdd/root/homes/root:/bin/sh
admin::0:0:root:/tmp/hdd/root/homes/admin:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:100:sync:/bin:/bin/sync
mail:x:8:8:mail:/var/spool/mail:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:0:0:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
operator:x:37:37:Operator:/var:/bin/sh
sshd:x:103:99:Operator:/var:/bin/sh
nobody::99:99:nobody:/:/bin/sh
default::1000:1000:Default non-root user:/:/bin/sh
總算將金鑰建起,將其放到nas的authorized_keys裡,然而因為nas的內定值反而始得即使我建立好ibt的金鑰並將其放入nas的authorized_keys檔裡,結果怎麼試都還是要我輪入密碼,於是我反向操作,將nas建好的金鑰置入ibt的authorized_keys裡(其中ibt裡的sshd_config檔要更改一些設定如下:
RSAAuthentication yes
PubkeyAuthentication yes
果然可以了,root ssh登入ibt不需要密碼!
接著我要將ibt的sshd自動在開機時執行,於是我在/opt/sbin裡建立一個sshd.sh檔並將其權限改為755,
chmod 755 sshd.sh
而後
vi sshd.sh
其內容如下:
/opt/etc/init.d/S40sshd start
而打開/usr/local/etc/rcS這個檔案,在裡面增加一行使其大致如下:
sleep 60
mount -o bind /tmp/hdd/root/opt /opt
sleep 2
/opt/sbin/smbd -s /opt/etc/smb.conf -D
/opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
/opt/sbin/sshd -f /opt/etc/openssh/sshd_config
/opt/sbin/sshd.sh
/opt/bin/transmission-daemon -g /tmp/hdd/root/transmission
如此ibt一開機,就會自動執行sshd,而我就可以在nas的crontab檔設定rsync指令及其參數讓nas定時自動與ibt的資料同步!

2012年2月1日 星期三

qnap與一般linux主機間要ssh金鑰登入,不用密碼的方法!

早在qnap韌體不知在第幾版前,依照一般的操作方式(如這篇文章所提的方法:兩台linux主機以ssh自動登入,不無打入密碼的方法!),要登入都是可以的,但不知在那個版本之後,突然問就會出問題,原因在路徑出了問題。

ssh-keygen -t rsa

上述指令打完後,其內定的路徑是/share/homes/admin/.ssh,然而系統會告知你無法建立此資料夾,原因是系統除了/share這個資料夾外,其間的homes與admin兩個子資料夾均沒有,所以當然無法建立.ssh這個資料夾了,而當然我們只好自己建立。

建立好後總算可以:利執行完ssh-keygen -t rsa指令!

在/share/homes/admin/.ssh產生的id_rsa,和id_rsa.pub這兩個檔案,其中依據兩台linux主機以ssh自動登入,不無打入密碼的方法!的說法是把qnap生成的id_rsa.pub拷貝到B機上,假設拷貝到B機的臨時目錄下,如:

scp /share/homes/admin/.ssh/id_rsa.pub root@B機ip:/tmp

然後再用root帳號登陸B機,進入其主目錄,創建authorized_keys檔,並設置好許可權。

cd ~/.ssh
cat /tmp/id_rsa.pub >>authorized_keys
chmod 400 authorized_keys
rm -f /tmp/id_rsa.pub

當你設定好之後回到qnap,重新以root身份試著登入B機,會發現無法登入!

其原因是Qnap主機透過ssh-keygen -t rsa指令產生的id_rsa,和id_rsa.pub,這兩個鑰匙並沒有在正確的位置,一般系統在核對金鑰時其內定的路徑是/root/.ssh裡,所以你必須再將你原先放在/share/homes/admin/.ssh裡的兩個檔案拷備過來,這樣才能完成金鑰登入B機的方法!

2011年3月16日 星期三

我透過windows client端,透過事件控制,windows自動發布一個指令連上B linux伺服主機,並利用B linux伺服主機關閉A linux伺服主機的方法

由於有些ups不斷電系統支援斷電時,自動關閉伺服器的功能,我手邊就有這樣一個ups,然而它雖說有支援linux,實際上我雖將它的控制程式安裝起來了,也捉的到該ups卻真的遇到停電時,它卻無法真的做到自動關機與重開機。

所以我現在只好做另一種嘗試,那就是在該ups上接兩台pc,一台是A linux server,一台是windows client,然後透過windows client端,當斷電事件發生時,windows client會自動發布一個指令連上B linux伺服主機(windows client能直接透過ssh連線),並利用B linux伺服主機關閉A linux伺服主機(與B linux伺服主機同一個網段裡,但被router限制,所以雖與windows client接在同一個ups上,卻不能被windows client直接透過ssh連線)。

為了達到這個目的,我做了如下動作:

windows client安裝ups for windows的控製程式,並設定當斷電時,自動執行這個程式指令:

plink -P 端口 用戶帳號@B主機IP –pw 密碼 sh halt204

2011年3月12日 星期六

Qnap NAS ssh登入,僅能以金鑰登入而不能以密碼登入的設定法

找到 /etc/ssh/sshd_config

vim /etc/ssh/sshd_config

找到  #PasswordAuthentication yes

#刪掉,並將yes改為no,重新啟動ssh服務。當然前提是要對你用以登入該NAS的client端之電腦產生連線登入金鑰,並上傳到NAS主機裡。

其做法有兩種,請分別看以下之文章:

若你的client端為linux系統請看這篇:兩台linux主機以ssh自動登入,不無打入密碼的方法!

若你的client端為windows系統請看這篇:使用public/private key讓putty(ssh)自動登錄(以及linux上使用金鑰做ssh自動登陸)

ssh無法順利登入時,查看更多訊息的參數

ssh -vvv username@yourhost.com

  • -vvv即是其參數

scp傳送資料指定port的參數

若遠端主機ssh的port為8023則指定port的參數語法為

scp –P 8023 這端檔案路徑 root@位址:檔案路徑

若:

  1. 遠端主機ssh的port為8023
  2. 這端要傳送的檔案路徑為 /var/www/html/*
  3. 要登入遠端的身份為admin
  4. 遠端的位址為ccsh.no-ip.tw
  5. 遠端的路徑為/home/data

則完整的指令參數為:

scp –P 8023 /var/www/html/* admin@ccsh.no-ip.tw:/home/data/

  • 其中–P必須是大寫

2010年11月26日 星期五

還有一類joomla中文化的問題與方法!

就像前面文章所提過的,joomla元件的中文化其實有時還是有其必須進一步特殊更改的,因為各個元組件的程式編寫者一開始的規劃不同,所以要達到全面的中文化語系,實在無法用一種方式就能確保全部的元件都可以達到前後台全面的中文化,我現在就再來講一種類型,以著名的元件GroupJive為例,要達到其前台能中文化,是很簡單而標準的,只要將其元件包解壓縮,找到其中language資料夾裏的english.php,將這個語言檔另外拷備成一份檔名為tradiction_chinese.php(檔名也可隨便取,只要這樣較符合通用的習慣,另外還必須注意,若字形編碼不是utf-8者,在做中文翻譯時,務必要轉換成utf-8,才不會到網頁裏看到的中文字變亂碼),然後開始進行翻譯即可。最後再從解壓縮的根目錄裏找到.xml檔,在適當的相對應位置加入(如何做,請看這裏)你新建的檔案及其路徑的一個字串)再壓縮打包成zip檔就可以安裝到joomla(安裝GroupJive之前好像要先安裝CB,否則裝完之後,joomla系統會變全白,先安裝CB,再安裝GroupJive就可以正常運作)。然而安裝完,滑鼠點GroupJive這個元件要進一步設定時,會發現其後台的管理介面仍然完全是英文介面,然而前站已可以正常使用中文介面了,這樣對於一般用戶在前台使用已不成問題。然而對於英文不怎樣的後台管理者,要做適當的設定,可得花一番心力看懂其英文說明,這時想努力找到能在後台將GroupJive語言設定成中文,可是實在是找不到,面對這種類型的元件,只能說元件程式編寫者,不想使其後台的語言成為一個可自動偵測你的joomla內定系統語系而改變其顯示的語系,它就是要你只能用英文的啦!

難而對於我們就是要把它改成中文語系的人而言,要如何改它呢?底下我來說明我的做法:

2010年10月16日 星期六

rsync透過ssh備份指定連線port參數

例如若port為8023

Rsync與ssh合作配備份主機是很簡單的,寫一個Shell Script或是直接寫到crontab上
非常簡單,但是若我們使用ssh加密與非標準的22Port所以要使用--rsh或-e這參數來使用ssh
--rsh='ssh -p 8083'或是 -e 'ssh -p 8083' ,注意要使用' '

ssh連線指定port的語法

若port為9000

ssh -p 9000 ID@IP

使用public/private key讓putty(ssh)自動登錄(以及linux上使用金鑰做ssh自動登陸)

資料來源:http://hi.baidu.com/felixwang/blog/item/7ce2cf1b2fccf7fdaf51338b.html

方法一:使用puttygen.exe
第一步:生成密匙
運行puttygen.exe,選擇需要的密匙類型和長度,使用默認的SSH2(RSA),長度設置為1024就可以了。
passphrase可以為空,免得登錄時還是要輸入一次密碼。
點擊Save private key 按鈕保存公匙和私匙,例如key.ppk,public key不用保存,以後使用Puttygen.exe Load功能就可以顯示public key。

ssh_confing的一些小設定

使ssh登入僅接受金鑰登入而不接受root密碼輸入的sshd_config之設定

PermitRootLogin no => yes   #若要使root無法登入則保留為no

PasswordAuthentication yes => no

要使特定使用者才可以使用su指令

2009年12月30日 星期三

兩台linux主機以ssh自動登入,不用打入密碼的方法!

以下內容,擔心以後系統重建後,資料的重找麻煩,所以還是決定把它記錄下來,以備以後不時之需:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
Enter passphrase (empty for no passphrase):直接回車