ssh 與 irc

sshphp

$ssh -l signup openshells.net(23.239.220.55)
password: wanker66


申請 opensheels 的免費 ssh 賬號,註冊賬號後的審覈有點麻煩;並且如今賬號彷佛不能使用了。
參見:http://www.openshells.net/index.php/2-uncategorised/7-signup

收集免費 shell 的網站:
http://shells.red-pill.eu/


ssh 使用

SSH全稱Secure SHell,顧名思義就是很是安全的shell的意思,SSH協議是IETF(Internet Engineering Task Force)的Network Working Group所制定的一種協議。SSH的主要目的是用來取代傳統的telnet和R系列命令(rlogin,rsh,rexec等)遠程登錄和遠程執行命令的工具,實現對遠程登錄和遠程執行命令加密。防止因爲網絡監聽而出現的密碼泄漏,對系統構成威脅。

ssh協議目前有SSH1和SSH2,SSH2協議兼容SSH1。目前實現SSH1和SSH2協議的主要軟件有OpenSSH和SSH Communications Security Corporation 公司的SSH Communications 軟件。前者是OpenBSD組織開發的一款免費的SSH軟件,後者是商業軟件,所以在linux、FreeBSD、OpenBSD、NetBSD等免費類UNIX系統種,通暢都使用OpenSSH做爲SSH協議的實現軟件。所以,本文重點介紹一下OpenSSH的使用。須要注意的是OpenSSH和SSH Communications的登錄公鑰/私鑰的格式是不一樣的,若是想用SSH Communications產生的私鑰/公鑰對來登入到使用OpenSSH的linux系統須要對公鑰/私鑰進行格式轉換。

在出現SSH以前,系統管理員須要登入遠程服務器執行系統管理任務時,都是用telnet來實現的,telnet協議採用明文密碼傳送,在傳送過程當中對數據也不加密,很容易被不懷好意的人在網絡上監聽到密碼。一樣,在SSH工具出現以前R系列命令也很流行(因爲這些命令都以字母r開頭,故把這些命令合稱爲R系列命令R是remote的意思),好比rexec是用來執行遠程服務器上的命令的,和telnet的區別是telnet須要先登錄遠程服務器再實行相關的命令,而R系列命令能夠把登錄和執行命令並登出系統的操做整合在一塊兒。這樣就不須要爲在遠程服務器上執行一個命令而特意登錄服務器了。

SSH出現後R系列命令已經基本廢止了,若是你歷來都不知道UNIX歷史上有過這些命令,那最好了,若是你知道那麼完全忘記他們吧。telnet命令除了在路由器等網絡設備中還使用外,在正式的生產系統中也基本廢止不用了,目前telnet最大的用處是用來檢測某個網絡端口是否正常打開並提供服務,好比我常常用telnet 10.0.0.1 25來檢查個人郵件服務器是否正常。

SSH是一種加密協議,不只在登錄過程當中對密碼進行加密傳送,並且對登錄後執行的命令的數據也進行加密,這樣即便別人在網絡上監聽並截獲了你的數據包,他也看不到其中的內容。OpenSSH已是目前大多數linux和BSD操做系統(甚至cygwin)的標準組件,所以關於如何安裝OpenSSH本文就再也不敘述了,若是不出意外,你的系統上一定已經安裝好了OpenSSH。

OpenSSH軟件包包含如下命令:
sshd                    SSH服務端程序
sftp-server                SFTP服務端程序(相似FTP但提供數據加密的一種協議)
scp                    非交互式sftp-server的客戶端,用來向服務器上傳/下載文件
sftp                    交互式sftp-server客戶端,用法和ftp命令同樣。
slogin                ssh的別名
ssh                    SSH協議的客戶端程序,用來登入遠程系統或遠程執行命令
ssh-add                SSH代理相關程序,用來向SSH代理添加dsa key
ssh-agent                ssh代理程序
ssh-keyscan                ssh public key 生成器

SSH最經常使用的使用方式是代替telnet進行遠程登錄。不一樣於telnet的密碼登錄,SSH還同時支持Publickey、Keybord Interactive、GSSAPI等多種登入方式,不像telnet那樣只有輸入系統密碼一種途徑。目前最經常使用的登錄方式仍是傳統的Password方式和Publickey方式登錄。


採用傳統的password方式登錄

若是想用傳統的password方式登錄系統你的OpenSSH配置文件中必須有以下配置指令:

    PasswordAuthentication yes

在Redhat系統中sshd的配置文件是/etc/ssh/sshd_config,默認安裝的OpenSSH默認是容許使用password方式登錄系統的。

用ssh 客戶端登錄系統,首次登錄一個以前沒有登錄過的系統,ssh會詢問你是否發送加密指紋而且連接服務器。
第一次登錄:

[root@mail ~]# ssh 172.18.6.227
    The authenticity of host '172.18.6.227 (172.18.6.227)' can't be established.
    RSA key fingerprint is 43:80:f2:e1:9b:b6:6e:c0:e2:dd:57:8f:ed:89:b3:81.
    Are you sure you want to continue connecting (yes/no)?

回答yes ssh提示輸入密碼:

[root@mail ~]# ssh 172.18.6.227
    The authenticity of host '172.18.6.227 (172.18.6.227)' can't be established.
    RSA key fingerprint is 43:80:f2:e1:9b:b6:6e:c0:e2:dd:57:8f:ed:89:b3:81.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.18.6.227' (RSA) to the list of known hosts.
root@172.18.6.227's password:

若是密碼輸入正確,那麼就順利登錄到了遠程系統,出現遠程系統提示符:

[root@mail ~]# ssh 172.18.6.227
    The authenticity of host '172.18.6.227 (172.18.6.227)' can't be established.
    RSA key fingerprint is 43:80:f2:e1:9b:b6:6e:c0:e2:dd:57:8f:ed:89:b3:81.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.18.6.227' (RSA) to the list of known hosts.
    root@172.18.6.227's password:
    Last login: Thu Jul 12 18:47:47 2007 from 172.18.6.130
[root@qmail ~]#

第一次登錄後,ssh就會把登錄的ssh指紋存放在用戶home目錄的.ssh目錄的know_hosts文件中,若是遠程系統重裝過系統,ssh指紋已經改變,你須要把 .ssh 目錄下的know_hosts中的相應指紋刪除,再登錄回答yes,方可登錄。請注意.ssh目錄是開頭是」.」的隱藏目錄,須要ls –a參數才能看到。並且這個目錄的權限必須是700,而且用戶的home目錄也不能給其餘用戶寫權限,不然ssh服務器會拒絕登錄。若是發生不能登錄的問題,請察看服務器上的日誌文件/var/log/secure。一般能很快找到不能登錄的緣由。

遠程系統的登錄用戶名和當前登錄的本地用戶相同,若是想以普通用戶user的身份登錄遠程系統能夠這樣:

[root@mail ~]# ssh [email]user@172.18.6.227[/email]   

或者這樣:

[root@mail ~]# ssh -l user 172.18.6.227 

ssh命令還有不少很是有用的參數,具體請看man手冊。

ssh最有用的功能是遠程執行命令:

[root@mail ~]# ssh 172.18.6.227 ls -l /
root@172.18.6.227's password:
    total 1244
    drwxr-xr-x    2 root root    4096 Jun 26 04:02 bin
    drwxr-xr-x    4 root root    4096 Mar 29 11:17 boot
    drwxr-xr-x    2 root root    4096 Jan 25 11:26 command
    drwxr-xr-x   15 root root    4096 Jun 12 20:09 data
    drwxr-xr-x    9 root root    5360 Jul  2 13:38 dev
    drwxr-xr-x   87 root root   12288 Jul 11 04:02 etc
    drwxr-xr-x   20 root root    4096 Apr 10 10:54 home
    drwxr-xr-x    2 root root    4096 Aug 13  2004 initrd

輸入正確的密碼後,ssh會連接遠程服務器的sshd服務器程序,而後執行遠程服務器上的
ls –l /命令 ,並把輸入結果傳到本地服務器。至關於你先登錄到遠程服務器,而後再實行命令ls –l /,最後再登出服務器。須要提醒的是,若是你須要登錄服務器並執行不止一個命令,必需要把命令用單引號或雙引號引發來:

ssh 172.18.6.227 "cd /root && ls "

若是不用引號引發來:

ssh 172.18.6.227 cd /root && ls

那麼其實第二個命令ls執行的是本地服務器的ls,而並不是遠程服務器上執行的ls,輸出結果也是本地的內容。

ssh的遠程實行命令的功能是用來代替原始的R系列命令的,在ssh出現以前系統管理員們不得不用rexec, rsh等不安全的遠程執行命令工具來完成一樣的操做。這個功能在管理大批機器的時候是很是有用的,好比我要重啓10.0.0.0/24網段內全部的服務器,只要輸入一條命令:

    for i in $(seq 1 254) ; do  ssh 10.0.0.${i} reboot ; done

就能夠完成重啓全部服務器的操做,也許你會說,這要雖然不須要再登錄每一臺服務器了,可是仍是要每次輸入密碼,多麻煩啊。別急,下面要講的用ssh public key方式登錄就是要解決問題。


採用public key登錄遠程服務器:

首先來對password方式和public方式登錄服務器的不一樣作一個對比:好比你要進入一個祕密基地,以password方式登錄,就比如這個祕密基地採用口令的方式讓外來人員進入,哨兵只關心外來人員提供的口令是否正確,若是正確就放行。public key方式就比如用鑰匙和鎖的方式進入基地,只要外來人員有這個基地大門門鎖的鑰匙,而且鑰匙確實能開這把鎖,那麼哨兵就將這我的放行。哨兵只認鑰匙,不人口令和人員。口令的缺點是,你的口令可能被敵人竊聽去,敵人會冒充友軍進入祕密基地,由於哨兵只憑口令來決定是否放行外來人員。而用鑰匙的方式則敵人必須獲得一把如出一轍的鑰匙在能登入。

採用ssh的public key方式登錄系統,須要先用相關的工具生成一個公鑰/私鑰對,公鑰和私鑰的就比如鎖和鑰匙的關係。公鑰就是鎖,鎖是公開掛在大門上的,是一個對外可見的東西,任何有鑰匙的人均可以去開鎖,私鑰就是鑰匙,鑰匙要本身妥善保管好,不能讓別人偷去。不然別人拿到了鑰匙並知道你鎖的位置(IP地址)就能夠輕易的進入基地了。

openssh的ssh-keygen命令用來產生這樣的私鑰和公鑰。

[root@mail ~]# ssh-keygen -b 1024 -t dsa -C gucuiwen@myserver.com
    Generating public/private dsa key pair.
    Enter file in which to save the key (/root/.ssh/id_dsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_dsa.
    Your public key has been saved in /root/.ssh/id_dsa.pub.
    The key fingerprint is:
    71:e5:cb:15:d3:8c:05:ed:05:84:85:32:ce:b1:31:ce gucuiwen@myserver.com

說明:
-b 1024 採用長度爲1024字節的公鑰/私鑰對,最長4096字節,通常1024或2048就能夠了,太長的話加密解密須要的時間也長。
-t dsa  採用dsa加密方式的公鑰/私鑰對,除了dsa還有rsa方式,rsa方式最短不能小於768字節長度。
-C gucuiwen@myserver.com 對這個公鑰/私鑰對的一個註釋和說明,通常用全部人的郵件代替。能夠省略不寫,更多其餘參數請man ssh-keygen。

[root@mail ~]# ssh-keygen -b 1024 -t dsa -C gucuiwen@myserver.com
    Generating public/private dsa key pair.
#提示正在生成,若是選擇4096長度,可能須要較長時間
    Enter file in which to save the key (/root/.ssh/id_dsa):
#詢問把公鑰和私鑰放在那裏,回車用默認位置便可
    Enter passphrase (empty for no passphrase):
#詢問輸入私鑰密語,爲了實現自動登錄,應該不要密語,直接回車
    Enter same passphrase again:
#再次提示輸入密語,再次直接回車
    Your identification has been saved in /root/.ssh/id_dsa.
    Your public key has been saved in /root/.ssh/id_dsa.pub.
#提示公鑰和私鑰已經存放在/root/.ssh/目錄下
    The key fingerprint is:
    71:e5:cb:15:d3:8c:05:ed:05:84:85:32:ce:b1:31:ce gucuiwen@myserver.com
#提示key的指紋

須要特別說明的是私鑰密語,我之因此用「密語」這個詞來描述,而避開「密碼」這個詞,是爲了區分密碼登錄方式中使用的密碼。在密碼登錄方式中使用的密碼是遠程服務器操做系統的密碼,而這裏的「密語」是私鑰的密碼。設想你的鑰匙是很是智能的高科技產品,你在用鑰匙開鎖的時候還必須向鑰匙中輸入一個密碼,鑰匙才能開鎖。這樣的話,即使你的鑰匙被人偷去了,偷鑰匙的人不知道鑰匙中的密碼他也不能用這個鑰匙開鎖。通常狀況下,假如你管理100臺服務器,爲了在這100臺服務器之間不用密碼就能自由穿梭,你須要生成一個不帶「密語」的鑰匙。你能夠在這100臺服務器中選擇一臺服務器做爲外界登錄到這羣服務的入口,這個從外界登錄到這臺入口服務器的鑰匙就應該要加上一個「密語」。而服務器羣之間的公鑰/私鑰對就不要加「密語」。

[root@mail ~]# ls -l /root/.ssh
    total 16
    -rw-------  1 root root 668 Jul 12 20:07 id_dsa
    -rw-r--r--  1 root root 611 Jul 12 20:07 id_dsa.pub
    -rw-r--r--  1 root root 222 Jul 12 19:37 known_hosts

產生的公鑰/私鑰文件在用戶home目錄的.ssh目錄下,其中id_dsa.pub是公鑰,把產生的公鑰上傳到須要登錄的服務器的對應用戶目錄的home目錄的.ssh目錄下,再一次強調用戶本身的目錄(home目錄)必須不能有其餘人可寫的權限,.ssh目錄的權限必須是700,即除了用戶本身,其餘人沒有任何讀寫察看該目錄的權限,不然ssh服務器會拒絕登錄。ssh默認的公鑰文件是用戶home目錄下的.ssh目錄下的authorized_keys文件,所以須要把產生的公鑰以這個文件名放到服務器的/root/.ssh/目錄下,這個文件中能夠存放多個客戶端的公鑰文件,就比如一個大門上能夠上不少鎖,能夠有不一樣的鑰匙來嘗試開鎖,只要有一個鎖被打開了,門就能夠打開了。放到服務器上應該是這樣子的:

    -rw-r--r--  1 root root  611 Jul 12 20:04 authorized_keys
    -rw-r--r--  1 root root 1046 Apr 28 09:36 known_hosts

公鑰和know_hosts文件能夠有其餘人可度的權限,由於是「公鑰」嘛,原本就能夠公開的。可是實際上這個文件別人仍是讀不到的,由於目錄.ssh是別人沒有權限進去的。

而在客戶端的/root/.ssh/目錄下,私鑰應該是這個樣子的:

    -rw-------  1 root root 668 Jul 12 20:07 id_dsa

私鑰必須是600權限,不然ssh服務器會拒絕用戶登錄。

這樣,你在ssh客戶端那裏就能夠直接登錄到ssh服務端了,固然,若是是第一次登錄,那麼仍是會提示yes/no 詢問是否將ssh指紋存入known_hosts中。存入後,就標明ssh已經「認識」那臺服務器了,之後就能夠直接登錄了。
固然,採用ssh key方式登錄還須要sshd配置文件中配置支持才行:
vi /etc/ssh/sshd_config

PubkeyAuthentication yes

通常默認安裝的OpenSSH都默認開啓了key方式登錄的選項。如今能夠直接登錄了:

[root@mail ~]# ssh 172.18.6.227
    Last login: Thu Jul 12 20:04:21 2007 from notebook.a
[root@qmail ~]#

還能夠自由的在遠程服務器上執行命令:
如察看遠程服務器的磁盤使用狀況:

[root@mail ~]# ssh 172.18.6.227 df -h   
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda1             966M  365M  552M  40% /
    /dev/sda3             9.4G  7.1G  1.9G  80% /data
    none                  506M     0  506M   0% /dev/shm
    /dev/sda2             9.4G  3.0G  6.0G  34% /usr
    /dev/sda6              12G  2.6G  8.8G  23% /var

ssh不再會向你問詢對方服務器的密碼,世界顯示執行結果,由於 ssh會自動取/root/.ssh/id_dsa這個「鑰匙」去開服務器上的/root/.ssh/authorized_keys這把「鎖」。開通了就直接登錄上去了或者直接執行命令並返回結果了,無論該用戶在遠程系統上的系統密碼究竟是多少,服務器只關心鑰匙能不能開本身的鎖,而不關心用戶密碼是多少。

若是你要這兩臺機器互訪,那麼把產生的公鑰和私鑰在服務器和客戶端上各放一份就能夠了。一樣若是你要100臺服務器這樣直接互訪,那麼只要把authorized_keys和id_dsa在這100臺服務器上各自放一份就能夠了。第一傳這些比較麻煩,可是傳完以後,之後就太方便了。好比我要看這100臺服務器的內存使用狀況,我只要輸入命令:

[root@DISK_253_11 root]# for i in `seq 1 100` ;do ssh 10.60.8.${i} free -m; done
    total       used       free     shared    buffers     cached
    Mem:          1006        578        427          0         57        173
    -/+ buffers/cache:        347        658
    Swap:          509         18        491
     total       used       free     shared    buffers     cached
    Mem:          1006        559        446          0         59        127
    -/+ buffers/cache:        372        633
    Swap:          509          0        509
    total       used       free     shared    buffers     cached
    Mem:          1006        556        449          0         58        127
    -/+ buffers/cache:        370        635
    Swap:          509          0        509

ssh把遠程執行的結果顯示到當前客戶機的屏幕上,不再用一臺一臺登錄而後執行了。連密碼都不用輸入。

再好比我要重啓全部服務器,只要簡單的輸入:

    for i in `seq 1 100`; do ssh 10.60.0.${i} reboot ;done

敲下回車後,你只要喝點咖啡,等着這100臺服務器重啓完畢就能夠了。

過5分鐘,看看是否全部服務器重啓完了:

    for i in `seq 1 100`; do ssh 10.60.0.${i} uptime; done

再好比一次性修改全部服務器上的一個配置文件,並使其生效:

    for i in `seq 1 100`;do ssh 10.60.0.${i} 「echo /usr/local/mysql/lib > /etc/ld.so.conf && ldconfig」

如今看到ssh的遠程執行命令功能的強大了吧,若是你有一點shell基礎,編寫出更復雜的shell,用scp統一拷貝到遠程服務器上,再遠程執行,那麼一會兒能夠自動完成N多任務。即使是管理1000臺服務器,也會和管理10臺服務器同樣輕鬆。


scp命令的使用:
scp是OpenSSH軟件包中一個用來向服務器拷貝文件或者下載文件的命令。須要使得服務器支持scp你的sshd配置文件中必須有以下指令,通常默認安裝都打開了這個功能。

    Subsystem       sftp    /usr/libexec/openssh/sftp-server

sftp是ssh協議中的一個子協議,也用22號端口。

sftp-server就是這個子協議的服務器端程序,scp和sftp是客戶端程序。sftp不講了,反正用法和ftp命令同樣,會用ftp命令的就必定會用sftp。

scp是非交互式命令,能夠直接在服務器之間拷貝文件。它和ssh程序同樣,會自動取/root/.ssh/id_dsa這把「鑰匙」去開服務器上的「鎖」,開好鎖服務器就容許你自由的上傳下載文件了:
好比:

[root@mail ~]# scp install.log 172.18.6.227:/root/

表示把本地文件install.log拷貝到服務器172.18.6.227的/root目錄下。一樣,因爲採用了public key方式登錄,scp也不會向你問詢密碼,直接執行成功。在服務器間拷貝文件就和在本機上拷貝文件那麼簡單。

若是要拷貝整個目錄,能夠用-r參數,而沒必要先tar包再拷貝:

scp -r /root/test 172.18.6.227:/root/   

若是要拷貝過程當中保持文件權限和用戶組不變就用-p參數,更多scp參數請看man scp

[root@mail ~]# scp -rp /root/test 172.18.6.227:/root/  

如今一樣假設你有100臺服務器要拷貝相同的文件上去,那麼很是的輕鬆:

    for i in `seq 1 100`; scp –rp  myfile.dat 10.60.0.${i}:/some/path ; done

敲下回車,接下來你只要喝點咖啡等待命令執行完成。

再好比,你要讓100臺服務器的某個配置文件都相同,那麼能夠這樣:

    for i in `seq 1 100`; scp –rp  /etc/hosts 10.60.0.${i}:/etc/ ; done

敲下命令後幾秒鐘,全部服務器的/etc/host文件和當前服務器相同了。

須要注意的是,若是你發現ssh登錄或者遠程執行命令很慢,好比ssh 10.0.0.1須要等待十多秒時間,那麼多半是你的dns有問題,要麼刪除/etc/resolv.conf文件中的內容,要麼正確配置DNS,而且能讓你的主機IP能在DNS服務器中找到,還有方法就是關閉SSH的DNS反解功能。

以上所講的只是ssh浩瀚的功能的冰山一角,還有不少更高級的功能,如ssh代理等等,ssh和scp的更多有用參數等,各位就本身去研究吧。我這裏只拋磚引玉,但願更多人知道ssh並非代替telnet,並不僅能每次輸入密碼登錄。ssh+scp+publickey認證,可讓你實現輕鬆管理數百臺UNIX服務器的目的。使得管理1000臺服務器和管理10臺服務器同樣簡單。這就是我寫這個文檔的目的所在。

 

 

irchtml

irc.freenode.net


irssi的使用
irssi是linux下的irc客戶端,參見:http://www.cnblogs.com/lone/archive/2009/08/02/1536759.html。

登陸            /usr/local/bin/irssi -circ.freenode.net -p7000 -naisaer或者irssi--/connect irc.freenode.net port 7000。
修改暱稱        /nick apple
加入聊天頻道            /join #fedora,如頻道須要密碼,/join #fedora password
離開單個頻道            /wc
離開一個HTMLIRC SERVER            /disconnect irc.freenode.net
[Act:1,3,6,9,10]            這些數字提示各個頻道上對話狀況:灰白色表示有人登陸或登出,白色表明在人在此channel上說話,灰紅色表明對話中提起你的名字或呼叫你。
切換到相應的 irc channel 上查看            Alt+1~0對應1~10的irc channel編號; Alt+q~p對應11~20的irc channel編號; Ctrl+n/p切換上/下一個irc channel; PageUP/PageDn切換上/下頁訊息。
轉編碼            /recode add #fedora utf8;加入此頻道編碼格式,/recode查看加入的編碼列表。
鏈接多個 irc server            /connect irc_server便可鏈接一個新的irc server,Alt+1切換到第一個特殊頻道,再用Ctrl+x切換當前的irc_server。
查看頻道的全部人            /who
查看某人的基本資料            /whois nickname
給某人發私消息            /msg nickname ......
給某人說話            /say nickname ......
自動保存irc log            /SET autolog ON

啓動irssi後,自動連接IRC server和IRC channel,假設要自動用apple暱稱連接到Freenode的IRC server上的#fedora:
/network add -nick apple Freenode
/server add -auto -network Freenode irc.freenode.net 7000
/channel add -auto #fedora Freenode,須要key/password的IRC channel,改成:/channel add -auto #fedora Freenode password
若是須要自動對註冊的暱稱進行認證登入的話 (設口令為abcde):
/network add -autosendcmd "/^msg nickserv ident abcde;wait 2000" Freenode

安裝 irssi 的強大之處在於不少script,不過都是perl語言寫的,因此仍是安裝irssi-script
sudo aptitude install irssi irssi-scripts

irssi自動化配置
只配置了去ubuntu-cn,因此就把irssi配置成運行後自動登錄服務器、自動加入頻道。
/server add -auto -network freenode irc.freenode.net 6667
/network add -nick <你在本身的名子> freenode
/network add -autosendcmd "/^msg nickserv identify <你本身的密碼>;wait 2000" freenode
/channel add -auto #ubuntu-cn freenode

irssi命令
打開個終端輸入irssi就能夠進入她的字符界面了。
登錄IRC服務器
/connect <服務器地址> <端口>
或直接在終瑞下輸入
irssi -c <服務器地址> -p <端口>
得到irssi命令幫助
/help
/help connect #得到connect命令的幫助
窗口操做
Alt+1..0 #切換窗口
Ctrl+p,n #上一窗口,下一窗口
/window close #關閉當前窗口
/window close <數字> #關閉指定編號的窗口
/window list #窗口列表

IRC命令
/nick <暱稱> #更改暱稱
/whois <暱稱> #查看他人信息
/ignore <暱稱> #忽略某人聊天內容
/list #頻道列表
/join #加入頻道
/part [channels] [message] #退出頻道,不加頻道名退出當前頻道,後面能夠跟退出緣由
/me #關於本身的信息

服務端命令(Services)
服務端分爲ChanServ(頻道服務), NickServ(暱稱服務) 和 MemoServ(留言服務)三類。
/msg chanserv #頻道服務
/msg chanserv help #得到頻道服務幫助信息
/msg nickserv #暱稱服務
/msg nickserv help #得到暱稱服務幫助信息
/msg memoserv #留言服務
/msg memoserv help #得到留言服務幫助信息
服務端命令不一樣服務器可能有所不一樣,詳細參考相關文檔。

使用 scripts
從 這裏 能夠下載你想要的 scripts,使用方法在下載頁面有講,本身看吧。
我暫時用了兩個 scripts: nicklist.pl and nickcolor.pl , 從終端啓動 irssi 的時候使用 screen irssi 來啓動,而後 /nicklist screen , alt+1 , alt+2 而後就能夠看到在右邊有個如xchat中的用戶列表了。
或者
screen irssi #用screen進
/script load nicklist.pl #調用nicklist腳本
/nicklist screen
/set nicklist_automode screen #不想每次進入都輸上面那段就把這個加上

使用 theme
從 這裏 能夠下載你中意的 theme,使用方法在下載頁有講,本身琢磨。

修改 real_name, user_name, nick
修改 ~/.irssi 下的 config 文件,找到這段修改粗體部分。
settings = {
core = {
real_name = "Element Ren";
user_name = "Element";
nick = "Element";
};
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = {
theme = "revolutionaryv3.theme";
autolog = "yes";
autolog_path = "~/.irssi/irclogs/%Y/$tag/$0.%m-%d.log";
autolog_colors = "yes";
};
"perl/core/scripts" = { nicklist_automode = "screen"; };
};

在config中能夠看到一些簡化的命令
aliases = {
J = "join";
WJOIN = "join -window";
WQUERY = "query -window";
LEAVE = "part";
BYE = "quit";
EXIT = "quit";
SIGNOFF = "quit";
DESCRIBE = "action";
DATE = "time";
HOST = "userhost";
LAST = "lastlog";
SAY = "msg *";
WI = "whois";
WII = "whois $0 $0";
WW = "whowas";
W = "who";
N = "names";
M = "msg";
T = "topic";
C = "clear";
CL = "clear";
K = "kick";
KB = "kickban";
KN = "knockout";
BANS = "ban";
B = "ban";
MUB = "unban *";
UB = "unban";
IG = "ignore";
UNIG = "unignore";
SB = "scrollback";
UMODE = "mode $N";
WC = "window close";
WN = "window new hide";
SV = "say Irssi $J ($V) - http://irssi.org/";
GOTO = "sb goto";
CHAT = "dcc chat";
RUN = "SCRIPT LOAD";
CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi";
SBAR = "STATUSBAR";
INVITELIST = "mode $C +I";
Q = "QUERY";
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
EXEMPTLIST = "mode $C +e";
ATAG = "WINDOW SERVER";
};

 


參考node

 

Robot5's blog
http://bbs.chinaunix.net/thread-2113237-1-1.html
http://shells.red-pill.eu/
http://www.cnblogs.com/lone/archive/2009/08/02/1536759.html
http://www.openshells.net/index.php/2-uncategorised/7-signupmysql

相關文章
相關標籤/搜索