日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一文學(xué)會 SSH 服務(wù)

作者 | 阿文

責(zé)編 | 郭芮

我是一名云計(jì)算工程師,在實(shí)際工作中經(jīng)常遇到很多人把使用windows那套習(xí)慣帶來linux上來,其中最嚴(yán)重的一點(diǎn)就是使用密碼的方式來進(jìn)行登錄鑒權(quán)。我不止一次的提醒他們不要在Linux上使用密碼而應(yīng)該使用密鑰的方式鑒權(quán),因?yàn)槊荑€比密碼從安全性上來說根本不是一個(gè)量級的。

本文我就詳細(xì)帶大家來全方位的了解下SSH以及在Linux 系統(tǒng)中的使用和一些簡單的使用技巧。
 

1.什么是SSH?

簡單的說,SSH是一種網(wǎng)絡(luò)協(xié)議,用于計(jì)算機(jī)之間的加密登錄。

在早期其實(shí)也有一些例如 telnet這樣的工具,如果你是一名網(wǎng)絡(luò)管理員,在操作交換機(jī)和路由器時(shí)候一定會和telnet 打過交道,但是telnet 協(xié)議是明文傳輸?shù)?,因此它并不安全。正是由于這個(gè)原因后來有了SSH,SSH全稱:Secure Shell,安全的命令解釋器,為客戶機(jī)提供安全的Shell環(huán)境,用于遠(yuǎn)程管理,默認(rèn)端口:TCP 22,它被廣泛的應(yīng)用在unix 和Linux 操作系統(tǒng)中。

在Linux中的SSH 主要是 OpenSSH。

  • 主要軟件包:openssh-server、openssh-clients

  • 服務(wù)名:sshd

  • 服務(wù)端主程序:/usr/sbin/sshd

  • 客戶端主程序:/usr/bin/ssh

  • 服務(wù)端配置文件:/etc/ssh/sshd_config

  • 客戶端配置文件:/etc/ssh/ssh_config

要通過SSH 來登錄計(jì)算機(jī)非常的簡單,只需要執(zhí)行如下命令即可:


 

ssh user@ip

例如要通過root 用戶登錄52.33.1.2這臺機(jī)器則執(zhí)行:


 

ssh [email protected]

即可,它會默認(rèn)使用22端口來進(jìn)行登錄。

SSH服務(wù)器端配置文件sshd_config,默認(rèn)在/etc/ssh/目錄下面的sshd_config 文件。
 

2.SSH登錄的用戶驗(yàn)證方式

  • 密碼驗(yàn)證:使用服務(wù)器中系統(tǒng)帳號對應(yīng)的密碼;

  • 密鑰對驗(yàn)證:使用客戶機(jī)中生成的公鑰、私鑰。

密碼驗(yàn)證

密碼驗(yàn)證需要在系統(tǒng)中設(shè)置一個(gè)密碼,設(shè)置密碼如下:


 

[root@centos ~]# passwd root

Changing password for user root.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

只要你的SSH 沒有禁止密碼登錄,并且用戶屬性沒有設(shè)置成nologin,都可以通過密碼來進(jìn)行連接即可。但是密碼登錄非常的不安全,互聯(lián)網(wǎng)上幾乎無時(shí)無刻不遭受惡意入侵,入侵者通過暴力破解的方式來對目標(biāo)系統(tǒng)進(jìn)行密碼破解。最簡單的破解只需要三中個(gè)工具即可完成。

  • masscan 掃描目標(biāo)主機(jī)哪些端口是開放的;

  • hydra 可以指定ip和詞典來對目標(biāo)主機(jī)進(jìn)行密碼暴力破解;

  • 詞典。

以下面的命令解釋,入侵者要破解58.12.95.153這臺機(jī)器的ssh密碼。只需要知道它的端口和用戶名就可以,程序會代替人自動(dòng)去進(jìn)行密碼校驗(yàn)直到試出正確密碼。


 

root@ubuntu:~# hydra -s 22 -v -l root -P pass.txt 58.12.95.153 ssh

只要入侵者的密碼庫足夠豐富,破解的機(jī)器性能足夠強(qiáng)大,破解不是問題。而一般人所使用的密碼并不會特別復(fù)雜,因此密碼的方是破解非常簡單。

密鑰認(rèn)證

SSH 支持通過密鑰的方是來進(jìn)行驗(yàn)證,包括rsa算法或dsa 算法等。例如rsa 算法,RSA加密算法是一種非對稱加密算法,在公開密鑰加密和電子商業(yè)中被廣泛使用。

1977年,三位數(shù)學(xué)家Rivest、Shamir 和 Adleman 設(shè)計(jì)了一種算法,可以實(shí)現(xiàn)非對稱加密。這種算法用他們?nèi)齻€(gè)人的名字命名,叫做RSA算法。從那時(shí)直到現(xiàn)在,RSA算法一直是最廣為使用的"非對稱加密算法"。毫不夸張地說,只要有計(jì)算機(jī)網(wǎng)絡(luò)的地方,就有RSA算法。

這種算法非??煽浚荑€越長,它就越難破解。根據(jù)已經(jīng)披露的文獻(xiàn),目前被破解的最長RSA密鑰是768個(gè)二進(jìn)制位。也就是說,長度超過768位的密鑰,還無法破解(至少?zèng)]人公開宣布)。因此可以認(rèn)為,1024位的RSA密鑰基本安全,2048位的密鑰極其安全。

要使用密鑰認(rèn)證,首先需要?jiǎng)?chuàng)建一對密鑰對,執(zhí)行ssh-keygen -t rsa按幾次回車鍵即可生成密鑰文件。


 

[root@centos ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:eHM9jL0Ry+hxt7H3ShEsKlkAxPvnKgN8KejMQ8iot3s root@centos

The key's randomart image is:

+---[RSA 2048]----+

| oo.. |

| . . . |

| . . o o |

| .. o O + . |

|o. o .oS * X + |

|o.o + o..=.o = = |

|.= + o. . + .|

|. * E o . . ..|

| .o= o.. ...|

+----[SHA256]-----+

默認(rèn)情況下所生成的密鑰文件在 ~/.ssh/ 目錄下:


 

[root@centos ~]# cd ~/.ssh/

[root@centos .ssh]# pwd

/root/.ssh

[root@centos .ssh]# ls

authorized_keys id_rsa id_rsa.pub

其中:

  • id_rsa 是私鑰文件;

  • id_rsa.pub 是公鑰文件;

  • authorized_keys 可以追加其他設(shè)備的公鑰內(nèi)容到該文件中實(shí)現(xiàn)密鑰方式登錄。比如我一臺機(jī)器A 希望登錄機(jī)器B,我把A機(jī)器中的id_rsa.pub 內(nèi)容復(fù)制粘貼到B機(jī)器的authorized_keys 末行即可。

在使用時(shí)需要主要~/.ssh 的目錄必須為700,目錄中的三個(gè)文件的權(quán)限必須為600,否則無法正常使用密鑰認(rèn)證。

修改服務(wù)端配置文件中的如下內(nèi)容:


 

PasswordAuthentication no

重啟ssh 服務(wù)即可實(shí)習(xí)禁止密碼登錄。

客戶端使用密鑰登錄可以使用如下命令:


 

ssh -i 密鑰文件 用戶名@ IP 地址

 

3.SSH 的客戶端

在 ~/.ssh/config中可以配置客戶端的一些連接參數(shù),可以執(zhí)行:


 

man ssh_config

它的配置如下所示


 

Host *

PasswordAuthentication no

ChallengeResponseAuthentication no

HashKnownHosts yes

ProxyCommand ssh [email protected] -p 65422 -W %h:%p

Host aliyun

HostName 114.113.199.88

User hedu

IdentityFile ~/.ssh/cloudsupport

Port 1046

其中,config配置含義如下:

  • Host:用來指定該key的Host名字,通配符*表示任意Host 的配置。

  • Hostname:此處指定Host對應(yīng)的具體域名或 IP 地址。

  • Port:說明目標(biāo)Host 的連接端口。

  • User root:說明該配置的用戶得是root。

  • IdentityFile ~/.ssh/id_rsa:這行最為關(guān)鍵,指定了該使用哪個(gè)ssh key文件,這里的key文件一定指的是私鑰文件。

配置完成之后,比如我們要登錄aliyun這個(gè)Host,執(zhí)行如下命令即可。


 

ssh aliyun

 

4.SSH 反向隧道

我們可以通過 SSH 實(shí)現(xiàn)內(nèi)網(wǎng)穿透,通過 SSH 的方式在一個(gè)內(nèi)網(wǎng)訪問另外一個(gè)內(nèi)網(wǎng),我們把他稱為 SSH 反向代理。

一文學(xué)會 SSH 服務(wù)

步驟如下:

  • 內(nèi)網(wǎng)主機(jī) 10.1.100.12 ,SSH 端口為22;

  • 外網(wǎng)主機(jī) 121.42.110.23 ,SSH 端口為22開放一個(gè)要綁定內(nèi)網(wǎng)主機(jī)的外網(wǎng)端口,例如2222;

我們要通過外網(wǎng)主機(jī)B 的2222端口連接到內(nèi)網(wǎng)主機(jī)10.1.100.12。

首先,在外網(wǎng)主機(jī)修改/etc/ssh/sshd_config文件,如果沒有添加即可:


 

GatewayPorts yes

然后重啟SSH 服務(wù)。

在192.168.10.11執(zhí)行:


 

ssh -NfR 2222:localhost:22 [email protected]

參數(shù)說明:

一文學(xué)會 SSH 服務(wù)

通過ssh的2222端口連接外網(wǎng)主機(jī),就可以代理到內(nèi)網(wǎng)主機(jī)。

5.SSH 故障排查

1.遇到 SSH 連接異常

可以查看提示,如果提示不明顯,可以使用 -vvv 參數(shù)打印詳細(xì)的debug 信息:


 

ssh -vvv

一般可以在debug 信息中找到連接失敗的問題。

2.遇到 ssh 連接卡很久

這種情況首先確認(rèn)下 sshd_config 中的2個(gè)配置是否是如下這樣:


 

UseDNS no

GSSAPIAuthentication no

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

另外一個(gè)是GSSAPI 認(rèn)證會消耗很長時(shí)間,其實(shí)關(guān)閉了也沒多大影響,一般 SSH 依次進(jìn)行的認(rèn)證方法的是 publickey, gssapi-keyex, gssapi-with-mic, password, 這個(gè)你可以ssh -v開啟 debug 模式在連接日志看到。一般用戶只使用 password 認(rèn)證方式,但前面 3 個(gè)認(rèn)證過程系統(tǒng)還是會嘗試,這就浪費(fèi)時(shí)間了,也就造成 SSH 登錄慢。

關(guān)于 GSSAPI 相關(guān)的認(rèn)證,消耗的時(shí)間比較多,具體可以查看 SSH 連接日志。

GSSAPI 主要是基于 Kerberos 的,因此要解決這個(gè)問題也就變成要系統(tǒng)配置有 Kerberos, 一般用戶是沒有配置 Kerberos的。

分享到:
標(biāo)簽:服務(wù) SSH
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定