怎么建立SSH進(jìn)行遠(yuǎn)程控制
網(wǎng)絡(luò)被攻擊,很多情況是由于服務(wù)器提供了Telnet服務(wù)引起的。目前,一種有效代替Telnet服務(wù)的有用工具就是SSH服務(wù)。SSH客戶端與服務(wù)器端通訊時(shí),用戶名及口令均進(jìn)行了加密,有效防止了對(duì)口令的竊聽。學(xué)習(xí)阿拉小編向大家介紹運(yùn)行在常用操作系統(tǒng)上的SSH服務(wù)器軟件包的使用。
怎么建立SSH進(jìn)行遠(yuǎn)程控制
一、ssh連接的幾種驗(yàn)證方式:
ssh連接是CS模型(客戶端-服務(wù)器),服務(wù)器會(huì)對(duì)客戶端進(jìn)行驗(yàn)證。驗(yàn)證的方法不少,可以在sshd_config配置文件中設(shè)置(Ubuntu是/etc/ssh/sshd_config,mac下是/etc/sshd_config)
這里僅介紹幾種最簡(jiǎn)單常見的。
1,最簡(jiǎn)單的輸入賬戶密碼
直接輸入所要登陸的用戶的密碼。這個(gè)是默認(rèn)的方式。不需要修改配置文件。
客戶端成功建立到服務(wù)器的連接后,自己的 .ssh/目錄下會(huì)記錄 服務(wù)器的ssh_host_rsa_key.pub(對(duì)應(yīng)的機(jī)器的一個(gè)rsa加密的公鑰)到lknown_hosts文件里。如果服務(wù)器之后改變了這個(gè)值,客戶端需要采取辦法修改對(duì)應(yīng)的值,或者刪除,否則無(wú)法登入。 ssh_host_rsa_key.pub 跟ssh的配置文件在同一個(gè)目錄下。
2,rsa加密驗(yàn)證
建立的連接的兩端分別是 客戶端(client)和 服務(wù)器(server)。
客戶端先使用 ssh-keygen 命令,生成私鑰和公鑰。(這里就牽扯到了一個(gè)經(jīng)典的RSA加密算法,不多談),其中私鑰客戶端自己保存,公鑰發(fā)給服務(wù)器。如此一來(lái),客戶端要登錄到服務(wù)器上實(shí)現(xiàn)遠(yuǎn)程控制的身份驗(yàn)證,則在本身的賬戶密碼之外,多了一層保護(hù)。每次登陸,客戶端的信息會(huì)先經(jīng)過(guò)私鑰加密,再傳遞給服務(wù)器,服務(wù)器匹配上公鑰進(jìn)行處理后,才能通過(guò)。
注意,配置文件可能也需要對(duì)應(yīng)的修改,比如,筆者的版本是openssh5.9p1,需要取消掉 配置文件對(duì) AuthorizedKeysFil %h/.ssh/authorized_keys 這一句的注釋。只要?jiǎng)h掉那個(gè)'#',就能執(zhí)行rsa驗(yàn)證。如此情況下,就不需要輸入密碼驗(yàn)證了。
3,passphrase口令驗(yàn)證,增加對(duì)rsa private的保護(hù)。
這個(gè)我自己還沒怎么看明白= =。參見github中的解釋
二、實(shí)施細(xì)節(jié)
我把我的Mac OS X作為客戶端,小黑的Ubuntu作為服務(wù)器端。使用第二種即rsa方法遠(yuǎn)程連接。
首先,安裝好ssh
mac下自帶的有,ubuntu下直接sudo apt-get install ssh就好了。(其實(shí)是開源的openssh,unix,linux平臺(tái)下都可。ssh本身被商業(yè)化了,據(jù)說(shuō)功能更多。)
其次,在客戶端生成私鑰公鑰,并傳遞給服務(wù)器
在mac上用ssh-keygen生成密鑰對(duì)。shell指令如下,然后跟著他的提示來(lái)好了。passphrase什么都不輸入就好了,果斷回避掉先。
結(jié)果是在用戶根目錄里的.ssh目錄下生成的 id_rsa(私鑰)和id_rsa.pub(公鑰)。
然后,傳送id_rsa.pub到Ubuntu上,命名為authorized_keys。這個(gè)過(guò)程中默認(rèn)使用了賬號(hào)密碼的驗(yàn)證方式。
不要忘了修改服務(wù)器的配置文件,以支持rsa驗(yàn)證方式。
找到
這句話,去掉前面的'#'號(hào)。(如果沒有找到這句話,則自己加上
即可,位置無(wú)關(guān))
最后,登陸
mac下輸入 ssh xxxx@hostAddress
由于之前已經(jīng)完成了一次文件傳輸,已經(jīng)在客戶端的.ssh/know_hosts中記錄下了服務(wù)器的key,又采用了rsa的驗(yàn)證方式,無(wú)需輸入密碼,即可建立鏈接。
意外
如果出現(xiàn)在登錄時(shí),出現(xiàn)如下問(wèn)題:
Agent admitted failure to sign using the key
使用 ssh-add 指令將私鑰 加進(jìn)來(lái) (根據(jù)個(gè)人的密匙命名不同更改 id_rsa)
# ssh-add ~/.ssh/id_rsa
試用
用scp命令試用了下。發(fā)現(xiàn)傳輸速度最高也就1.1M。
網(wǎng)上有說(shuō)法是開啟-C選項(xiàng)后速度會(huì)翻一倍左右,但我的測(cè)試結(jié)果仍然是最多1.1M。也使用了rsync命令,同樣是1.1M。
或許是路由器的限速吧= =。以后再查了。
看過(guò)“ 怎么建立SSH進(jìn)行遠(yuǎn)程控制 ”的人還看了:
1.解決路由器安全只需簡(jiǎn)單六步