SSH遠(yuǎn)程連接服務(wù)器

1、遠(yuǎn)程連接服務(wù)器

遠(yuǎn)程連接服務(wù)器對(duì)于管理員來(lái)說(shuō)挠阁,是一個(gè)很有用的操作宾肺。它使得對(duì)服務(wù)器的管理更為方便溯饵。不過(guò)方便歸方便,但開(kāi)放的讓全世界都可以嘗試連接你的主機(jī)并不是什么好事锨用,因?yàn)榭赡軙?huì)有安全性問(wèn)題丰刊。


1.1、什么是遠(yuǎn)程連接服務(wù)器

遠(yuǎn)程連接服務(wù)器通過(guò)文字或圖形接口的方式來(lái)遠(yuǎn)程登錄系統(tǒng)增拥,讓你在遠(yuǎn)程的終端前面登錄Linux主機(jī)已取得可操作主機(jī)的接口(Shell)啄巧,而登陸后的操作感覺(jué)上就像坐在系統(tǒng)前面一樣!

用 SSH/Telnet/VNC 等方式取得的文字或者圖形 Shell 能夠進(jìn)行很多系統(tǒng)管理的任務(wù)掌栅,與單純的 FTP 能進(jìn)行的工作當(dāng)然不同秩仆。

遠(yuǎn)程連接服務(wù)器的功能:

1、分享 Unix-Like 主機(jī)的運(yùn)算能力猾封;

2澄耍、服務(wù)器類型(Server),有限度的開(kāi)放連接晌缘;

3齐莲、工作站類型(Workstation),只對(duì)內(nèi)網(wǎng)開(kāi)放磷箕;

1.2选酗、有哪些可供登錄的類型

文字接口和圖形接口,明文傳輸和加密傳輸

文字接口明文傳輸:Telnet岳枷、RSH芒填,目前已少用;

文字接口加密:SSH為主嫩舟;

圖形接口:XDMCP氢烘、VNC怀偷、XRDP等


2家厌、SSH服務(wù)器

SSH(Secure Shell Protocol),它可以通過(guò)數(shù)據(jù)包加密技術(shù)將等待傳輸?shù)臄?shù)據(jù)包加密后在傳輸?shù)骄W(wǎng)絡(luò)上椎工,因此數(shù)據(jù)信息就比較安全饭于。

在默認(rèn)狀態(tài)下,SSH協(xié)議本身提供兩個(gè)服務(wù)器功能维蒙。

一個(gè)是類似 Telnet 的遠(yuǎn)程連接使用 Shell 的服務(wù)器掰吕,即俗稱的SSH;

另一個(gè)就是類似 FTP 服務(wù)的 Sftp-Server颅痊,提供更安全的 FTP 服務(wù)

2.1殖熟、連接加密技術(shù)

目前常見(jiàn)的數(shù)據(jù)包加密技術(shù)通常是所謂的 ?“非對(duì)稱密鑰系統(tǒng)” 來(lái)處理的。主要是通過(guò)兩把不一樣的公鑰(Public)和私鑰(Private)來(lái)進(jìn)行加密與解密的過(guò)程斑响。由于這兩把鑰匙的作用是提供數(shù)據(jù)加解密的菱属,所以在同一個(gè)方向的連接中钳榨,這把鑰匙當(dāng)然是需要成對(duì)的。

公鑰(Public Key):提供給遠(yuǎn)程主機(jī)進(jìn)行數(shù)據(jù)加密行為纽门,也就是說(shuō)大家都能取得你的公鑰來(lái)將數(shù)據(jù)加密薛耻;

私鑰(Private Key):遠(yuǎn)程主機(jī)使用你的公鑰加密的數(shù)據(jù),在本地端就只能使用來(lái)進(jìn)行解密赏陵。由于私鑰很重要饼齿,因此私鑰是不能夠外流的,只能保護(hù)在自己的主機(jī)上蝙搔。

由于每臺(tái)主機(jī)都應(yīng)該有自己的密鑰(公鑰與私鑰)缕溉,且公鑰用來(lái)加密而私鑰用來(lái)解密,其中私鑰不可外流杂瘸,但因?yàn)榫W(wǎng)絡(luò)是雙向的倒淫,所以,每個(gè)人應(yīng)該都要有對(duì)方的“公鑰”才對(duì)败玉!

公鑰和私鑰


公鑰私鑰的產(chǎn)生
1敌土、服務(wù)器建立公鑰文件;

2运翼、客戶端主動(dòng)連接要求返干;

3、服務(wù)器傳送公鑰給客戶端血淌;

4矩欠、客戶端記錄/對(duì)比服務(wù)器的公鑰數(shù)據(jù)及計(jì)算自己的公私鑰;(客戶端的密鑰是隨機(jī)運(yùn)算產(chǎn)生于本次連接當(dāng)中的悠夯,所以這次的連接與下次的連接密鑰可能會(huì)不一樣啦癌淮!此外客戶端的用戶主目錄下:~/.ssh/know_hosts 中會(huì)記錄曾經(jīng)連接過(guò)的主機(jī)的 Public Key,用于確認(rèn)·我們自己已經(jīng)連接上正確的服務(wù)器沦补。如果想要產(chǎn)生新的密鑰則 rm ?/etc/ssh/ssh_host*

5乳蓄、返回客戶端的公鑰數(shù)據(jù)到服務(wù)器;

6夕膀、服務(wù)器接受私鑰開(kāi)始雙向加解密虚倒。

2.2、啟動(dòng)SSH服務(wù)

啟動(dòng)及查看ssh服務(wù)

SSHD可以同時(shí)提供Shell和FTP产舞,而且都是架構(gòu)在 Port 22 上面的

2.3魂奥、SSH客戶端連接程序 —— Linux用戶

2.3.1、SSH:直接登錄遠(yuǎn)程主機(jī)的指令

ssh用法

如果不填寫(xiě)賬號(hào)的話易猫,那么會(huì)以本地端計(jì)算機(jī)的賬號(hào)來(lái)嘗試登陸遠(yuǎn)程耻煤。

ssh ?192.168.1.1

ssh ?hahaha@192.168.1.1

ssh ?-f ?hahaha@192.168.1.1 ?shutdown -h ?now

2.3.2、服務(wù)器公鑰記錄文件:~/.ssh/known_hosts

當(dāng)你登錄遠(yuǎn)程服務(wù)器時(shí),本機(jī)會(huì)主動(dòng)接收到服務(wù)器的Public Key去比對(duì) ~/.ssh/known_hosts有無(wú)相關(guān)公鑰哈蝇。

2.3.3嘴办、模擬FTP的文件傳輸方式:SFTP

SSH是登錄遠(yuǎn)程服務(wù)器進(jìn)行工作,那如果你只是想要從遠(yuǎn)程服務(wù)器下載或者上傳文件呢买鸽?那就不使用SSH啦涧郊,而必須使用SFTP或SCP。這兩個(gè)指令都是使用SSH的通道(port :22)眼五,只是模擬成FTP與復(fù)制的操作而已妆艘。

sftp ?student@192.168.1.1

SFTP用法

2.3.4、文件異地直接復(fù)制:SCP

通常使用SFTP是因?yàn)榭赡懿恢婪?wù)器上面已存在的文件名信息看幼,如果已經(jīng)知道服務(wù)器上的文件名批旺,那么最簡(jiǎn)單快捷的方式是使用SCP這個(gè)命令。

scp用法

scp ?/home/aaa/test.txt ?zhang@192.168.1.1:/home/zhang

scp ?zhang@192.168.1.1:/home/zhang/AAA.txt ?/home/aaa/


3诵姜、SSHD服務(wù)器詳細(xì)配置

基本上汽煮,所有的SSHD服務(wù)器的詳細(xì)配置都放置在 /etc/ssh/sshd_config 配置文件中。同時(shí)請(qǐng)注意棚唆,配置文件里只要未被修改的值即為默認(rèn)值暇赤,你可以依據(jù)它來(lái)修改。建議取消root登錄并將SSH版本設(shè)定為2.

vim ?/etc/ssh/sshd_config

將遠(yuǎn)程連接禁止root登錄:

#PermitRootLogin ?yes ? ?改為 ? ?PermitRootLogin ? ?no宵凌;

#Protocol 2

SSH限制被嘗試次數(shù):

MaxAuthTries ?6鞋囊;

在限定的次數(shù)里面密碼認(rèn)證失敗的話將會(huì)被強(qiáng)制斷開(kāi)連接。

關(guān)閉UseDNS加速SSH登錄:

經(jīng)常登錄SSH的朋友可以感覺(jué)出瞎惫,每次登錄SSH時(shí)總是要停頓一下才能連接上溜腐,這是因?yàn)镺penSSH服務(wù)器有一個(gè)DNS查找選項(xiàng)UseDNS在默認(rèn)情況下是打開(kāi)的;

UseDNS選項(xiàng)打開(kāi)的狀態(tài)下瓜喇,當(dāng)客戶端試圖登錄SSH服務(wù)器時(shí)挺益,服務(wù)器端先根據(jù)客戶端的IP地址進(jìn)行DNS PTR反向查詢客戶端主機(jī)名,然后根據(jù)查詢出的客戶端主機(jī)名進(jìn)行DNS正向A記錄查詢乘寒,驗(yàn)證與其原始IP地址是否一致望众,這是防止客戶端欺騙的一種措施,但一般我們的IP不會(huì)有PTR記錄肃续,打開(kāi)這個(gè)選項(xiàng)不過(guò)是在白白浪費(fèi)時(shí)間而已黍檩,不如將其關(guān)閉叉袍。

UseDNS no始锚;

SSH限制IP登錄幾種方法:

1、修改 etc/hosts.allow 和 etc/hosts.deny 文件喳逛;

2瞧捌、修改 /etc/ssh/sshd_config 文件,加入 Allowusers:用戶名@IP(只允許某用戶從哪個(gè)Ip登錄)。

?Allowusers *@192.168.1.111?

PermissionRootLogin no

#這兩者可以保證只能從你允許的IP登錄你的服務(wù)器姐呐;


4殿怜、制作不用密碼可立即登錄的SSH用戶

利用Key不輸入密碼遠(yuǎn)程連接主機(jī),具體流程

1曙砂、客戶端建立兩把鑰匙:利用命令為 ssh-keygen头谜;

2、客戶端放置好私鑰文件:將 Private Key 放在用戶主目錄內(nèi)的 .ssh/ 里面即可鸠澈,“.ssh”文件夾權(quán)限為700柱告,私鑰權(quán)限為600且屬于用戶自己,否則在未來(lái)密鑰對(duì)比的過(guò)程中將出現(xiàn)問(wèn)題笑陈。

3际度、將公鑰放置到服務(wù)器端中:將 Public Key 放置在你想要用來(lái)登錄的那個(gè)用戶的主目錄內(nèi)的 .ssh/authorized_keys文件里,也可以用追加的方式寫(xiě)入涵妥。

ssh-keygen ?[ -t ?rsa | dsa ]乖菱,之后會(huì)生成公鑰和私鑰;

生成的公私鑰

將公鑰上傳到需要遠(yuǎn)程連接的服務(wù)器上:

scp ?~/.ssh/id_rsa.pub ?zhang@192.168.203.129:~蓬网;

cat ?id_rsa.pub ?>> .ssh/authorized_keys窒所;將公鑰寫(xiě)入

.ssh 目錄的權(quán)限是700,authorized_keys權(quán)限是644

步驟關(guān)鍵:

Client必須制作出Public和Private這兩把Key帆锋,且Private Key需要放到 ~/.ssh/ 內(nèi)墩新;

Server必須要有Public Key,且放置到用戶主目錄下的 ~/.ssh/authorized_keys窟坐,同時(shí)目錄的權(quán)限(.ssh)必須是700而文件權(quán)限必須是644海渊,同時(shí)文件的屬主和屬組都必須與該賬號(hào)吻合才行。

當(dāng)你還想要登錄其他遠(yuǎn)程主機(jī)時(shí)哲鸳,只要將你的Public Key(id_rsa.pub)文件copy到其他主機(jī)上去臣疑,并且將內(nèi)容添加到 ~/.ssh/authorized_keys中即可。


5徙菠、簡(jiǎn)易安全設(shè)置

SSHD 所謂的安全其實(shí)指的是SSHD的數(shù)據(jù)是加密過(guò)的讯沈,所以它的數(shù)據(jù)在Internet上面?zhèn)鬟f時(shí)是比較安全的。至于SSHD這個(gè)服務(wù)本身就不是那樣安全了婿奔。所以如果要將SSHD對(duì)Internet開(kāi)放可登錄的權(quán)限的話缺狠,那么,就盡量局限在幾個(gè)小范圍內(nèi)的IP或主機(jī)名(如你們公司的出口IP)萍摊,這很重要挤茄。

1、服務(wù)器軟件本身的設(shè)置強(qiáng)化:/etc/ssh/sshd_config冰木,禁止root登錄穷劈,禁止某個(gè)用戶登錄笼恰,禁止某個(gè)用戶組登錄;

2歇终、/etc/hosts.allow 和 /etc/hosts.deny

hosts.allow--->sshd :127.0.0.1 192.168.0.0/255.255.0.0

hosts.deny--->sshd:ALL

3社证、iptables數(shù)據(jù)包過(guò)濾防火墻


6、SSH服務(wù)器的高級(jí)應(yīng)用

6.1评凝、在非標(biāo)準(zhǔn)端口啟動(dòng)SSH(默認(rèn)端口:22)

vi ?/etc/ssh/sshd_config

# Port 22(這是默認(rèn)信息)----> Port 23(修改為23端口追葡,但一定要注意,不要將端口開(kāi)在某些周知的端口上奕短,如80那些)

或者兩端口共存辽俗,即sshd監(jiān)聽(tīng)這兩個(gè)端口:

Port ?22

Port ?23

非標(biāo)準(zhǔn)端口連接:

ssh ?-p ?23 ?zhang@192.168.209.129

6.2、以 rsync 進(jìn)行同步鏡像備份

rsync 是一個(gè)相當(dāng)棒的異地備份系統(tǒng)的指令篡诽,可以達(dá)到類似鏡像(mirror)的功能

rsync 第一次備份的時(shí)候需要花費(fèi)比較長(zhǎng)的時(shí)間崖飘,因?yàn)槭状我獋浞菟械奈募5窃俅蝹浞菸募臅r(shí)候杈女,僅會(huì)復(fù)制有差異的數(shù)據(jù)朱浴。這個(gè)很重要的哈!

因?yàn)?rsync ?是通過(guò) SSH 來(lái)傳輸數(shù)據(jù)的达椰,所以你可以針對(duì) 某個(gè)用戶制作出免密碼登錄的SSH密鑰翰蠢!如此一來(lái),往后異地備份系統(tǒng)就能夠自動(dòng)地以 crontab 來(lái)進(jìn)行備份了啰劲。

rsync ?的三種傳輸方式:

1梁沧、在本機(jī)上直接運(yùn)行,用法幾乎與 cp 一模一樣蝇裤,例如:

rsync ?-av ?/etc ?/tmp ?將/etc/ 的數(shù)據(jù)備份到 /tmp/etc 內(nèi)

2廷支、通過(guò) rsh 或 ssh 的信道在Server / Client 之間進(jìn)行傳輸數(shù)據(jù),例如:

rsync -avz user@ip:/test /test #先做無(wú)秘鑰就可直接使用了

#rsync ?-av ?-e ?ssh ?user@ip:/etc ?/tmp ?將遠(yuǎn)程Server的/etc 數(shù)據(jù)備份到本地 /tmp/etc

3栓辜、直接通過(guò) rsync ?提供的服務(wù)(daemon)來(lái)傳輸恋拍,此時(shí) rsync ?主機(jī)需要啟動(dòng) 873 Port

你必須要在Server端啟動(dòng) rsync,看 /etc/xinetd.d/rsync藕甩;

你必須編輯 /etc/rsyncd.conf 配置文件施敢;

你必須設(shè)置定義Client端連接的密碼數(shù)據(jù);

在 Client端可以利用: rsync ?-av ?user@hostname::/dir/path ?/local/path ?注意是兩個(gè)冒號(hào)


rsync使用方法


rsync命令舉例

6.3狭莱、通過(guò)SSH通道加密原本無(wú)加密的服務(wù)

透過(guò)本地端的 ssh 加密聯(lián)機(jī)到遠(yuǎn)程的服務(wù)器示意圖

重點(diǎn)回顧:

遠(yuǎn)程連接服務(wù)器可以讓用戶在任何一臺(tái)計(jì)算機(jī)登錄主機(jī)僵娃,以便使用主機(jī)的資源來(lái)管理與維護(hù)主機(jī);

Telnet與RSH都是以明文方式傳輸數(shù)據(jù)腋妙,當(dāng)數(shù)據(jù)在Internet上面?zhèn)鬏敃r(shí)較不安全默怨;

SSH由于使用密鑰系統(tǒng),因此數(shù)據(jù)在Internet上傳輸時(shí)時(shí)加密過(guò)的辉阶,所以比較安全先壕;

但SSH還是屬于比較危險(xiǎn)的服務(wù),請(qǐng)不要對(duì)整個(gè)Internet開(kāi)放SSH的可登錄權(quán)限谆甜,可利用iptables 規(guī)范可登錄的范圍垃僚;

SSH的Public Key 放在服務(wù)器端,而Private Key 放在Client端规辱;

使用SSH時(shí)谆棺,盡量使用類似E-mail的方式來(lái)登錄,即:ssh ?username@hostname罕袋;

Client端可以比對(duì)Server傳來(lái)的Public Key的一致性改淑,利用的文件為 ~user/.ssh/known_hosts;

SSH的Client端軟件提供SSH浴讯、SCP朵夏、SFTP等程序;

制作不需要密碼的SSH賬號(hào)時(shí)榆纽,可利用ssh-keygen ?-t ?rsa 來(lái)生成Public Key和Private Key仰猖;

上述指令所生成的Public Key必須要上傳到Server的 ~user/.ssh/authorized_keys;

rsync ?可通過(guò)SSH 的服通道或 rsync ?--daemon 的方式來(lái)連接傳輸奈籽,其主要功能可以通過(guò)類似鏡像備份來(lái)僅備份新的數(shù)據(jù)饥侵,因此傳輸數(shù)據(jù)相當(dāng)快。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衣屏,一起剝皮案震驚了整個(gè)濱河市躏升,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狼忱,老刑警劉巖膨疏,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異钻弄,居然都是意外死亡成肘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門斧蜕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)双霍,“玉大人,你說(shuō)我怎么就攤上這事批销∪髡ⅲ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵均芽,是天一觀的道長(zhǎng)丘逸。 經(jīng)常有香客問(wèn)我,道長(zhǎng)掀宋,這世上最難降的妖魔是什么深纲? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任仲锄,我火速辦了婚禮,結(jié)果婚禮上湃鹊,老公的妹妹穿的比我還像新娘儒喊。我一直安慰自己,他們只是感情好币呵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布怀愧。 她就那樣靜靜地躺著,像睡著了一般余赢。 火紅的嫁衣襯著肌膚如雪芯义。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天妻柒,我揣著相機(jī)與錄音扛拨,去河邊找鬼。 笑死举塔,一個(gè)胖子當(dāng)著我的面吹牛鬼癣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啤贩,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼待秃,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了痹屹?” 一聲冷哼從身側(cè)響起章郁,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎志衍,沒(méi)想到半個(gè)月后暖庄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楼肪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年培廓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片春叫。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肩钠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出暂殖,到底是詐尸還是另有隱情价匠,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布呛每,位于F島的核電站踩窖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏晨横。R本人自食惡果不足惜洋腮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一箫柳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧啥供,春花似錦悯恍、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)曼玩。三九已至鳞骤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間黍判,已是汗流浹背豫尽。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留顷帖,地道東北人美旧。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像贬墩,于是被迫代替她去往敵國(guó)和親榴嗅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容