日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

ssh客户端

發(fā)布時(shí)間:2024/9/19 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 ssh客户端 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ssh客戶(hù)端

ssh,配置文件:/etc/ssh/ssh_config

在配置文件/etc/ssh/ssh_config中Strict HostKey Checking no 首次登錄不顯示檢查提示。

格式:ssh [user@]host IP地址 [command]

ssh [-l user]host IP地址 [command]

(如果不指定用戶(hù),你是哪個(gè)用戶(hù)就連接哪個(gè)用戶(hù)上,后面還可跟命令)


?

Ssh客戶(hù)端允許實(shí)現(xiàn)對(duì)遠(yuǎn)程系統(tǒng)經(jīng)驗(yàn)證地加密安全訪(fǎng)問(wèn)

當(dāng)用戶(hù)遠(yuǎn)程連接ssh服務(wù)器時(shí),會(huì)復(fù)制ssh服務(wù)器/etc/ssh/ssh_host*key.pub(CentOS7默認(rèn)是ssh_host_ecdsa_key.pub)文件中的公鑰到客戶(hù)機(jī)的~./ssh/know_hosts中。下次連接時(shí),會(huì)自動(dòng)匹配相應(yīng)私鑰,不能匹配,將拒絕連接

?

下面來(lái)看一下ssh的一些選項(xiàng):

-p port端口號(hào):遠(yuǎn)程服務(wù)器監(jiān)聽(tīng)的端口

例如:ssh 192.168.10.178 -p 2222 如果將服務(wù)器的端口改為2222,再用ssh連接不指定端口(默認(rèn)是22端口),此時(shí)就無(wú)法連接,連接時(shí)指定端口號(hào)就可以連接了。

改端口號(hào):semanage port -a -t ssh_port_t -p tcp 端口號(hào) (如果啟用了SELinux策略,改的端口號(hào)為非標(biāo)準(zhǔn)端口號(hào),違反了SELinux策略,直接修改配置文件是不可以的,要用這種方法去修改,記得改完之后重啟一下sshd服務(wù))


-b 指定源IP來(lái)連接服務(wù)器

-v:調(diào)試模式(連接的時(shí)候發(fā)現(xiàn)一些錯(cuò)誤,可以用-v來(lái)排錯(cuò))

-C:壓縮方式

-X: 支持x11轉(zhuǎn)發(fā)

xclock命令在centos6上面可以打開(kāi)小鐘表,在centos7上面打不開(kāi),現(xiàn)在我用centso7去連接centos6,直接連接上去,執(zhí)行xclock命令是打不開(kāi)小鐘表的,需要價(jià)格-X選項(xiàng),才能打開(kāi)

-Y:支持信任x11轉(zhuǎn)發(fā)

ForwardX11Trusted yes

-t: 強(qiáng)制偽tty分配

?

小實(shí)驗(yàn):

如圖:假如企業(yè)內(nèi)部有兩臺(tái)機(jī)器B,C,其中C是ssh service ,企業(yè)內(nèi)部連接互聯(lián)網(wǎng)是通過(guò)防火墻來(lái)連接的,只有B才能連接到C,A不能直接連接C,假如A出差了,在企業(yè)外部,現(xiàn)在A(yíng)想要連接C,怎樣連接呢?A可以連接到B,通過(guò)B這個(gè)跳板再來(lái)連接到C ssh -t B(ip地址) ssh C(ip地址)


?

?

實(shí)驗(yàn)環(huán)境:有3臺(tái)機(jī)器A,B,C,這3臺(tái)機(jī)器都在一個(gè)網(wǎng)段中。

1)先在C機(jī)器上制定防火墻策略,拒絕A機(jī)器連接iptables -A INPUT -s 192.168.10.136 -j REJECT

這樣A就不能直接連接C了,,B可以連接C,A可以連接B,所以B可以做跳板,讓A借助B來(lái)連接C

2)ssh -t 192.168.10.135 ssh 192.168.10.178 這樣就能連接了,需要輸入兩次密碼


?

常見(jiàn)的ssh連接問(wèn)題

在用ssh連接的時(shí)候我們會(huì)遇到一些問(wèn)題,接下來(lái)介紹一下這些問(wèn)題和解決這些問(wèn)題的方案

(1)解決ssh連接較慢的方案

我們?cè)谟胹sh連接的時(shí)候可能會(huì)非常慢,可以調(diào)整服務(wù)器端的配置文件,修改以下兩項(xiàng),重啟服務(wù),就能生效,再重啟sshd服務(wù),之后再用ssh連接就非常快了

vim /etc/ssh/sshd_config 編輯服務(wù)器端的配置文件


?


然后systemctl restart sshd.service(centos7)或service sshd restart(centos6),重啟一下sshd服務(wù),就可以了

(2)去掉ssh第一次連接服務(wù)器提示的yes or no?

當(dāng)某臺(tái)機(jī)器第一次去連接某服務(wù)器時(shí),會(huì)問(wèn)你是否要繼續(xù)連接,yes or no?,敲了yes就會(huì)在家目錄下的.ssh目錄下生成了一個(gè)known_hosts文件,這個(gè)文件就記錄了你所連接的每一臺(tái)服務(wù)器的公鑰key(如下圖我目前只連接了一個(gè)服務(wù)器,所以只有一個(gè)服務(wù)器的公鑰key)


下面就來(lái)修改配置文件來(lái)解決這個(gè)問(wèn)題

vim /etc/ssh/sshd_config

將該項(xiàng)改為no,第一次連接不用提示yes或者no


?

(3)/etc/ssh中的key不能被破壞

ssh中的key不能被破壞,如果這些key都被刪了,ssh服務(wù)不能被啟動(dòng)


先關(guān)閉了sshd服務(wù),再開(kāi)啟sshd服務(wù),然后就發(fā)現(xiàn)啟動(dòng)失敗


再把/app/下的key移回來(lái)就可以啟動(dòng)成功了。

?

ssh服務(wù)登錄驗(yàn)證方式

1.用戶(hù)/口令

2.基于密鑰

1.基于用戶(hù)名口令登錄驗(yàn)證

基于用戶(hù)和口令登錄驗(yàn)證(客戶(hù)端用服務(wù)器的公鑰加密密碼,再發(fā)給服務(wù)器,服務(wù)器再拿私鑰解開(kāi)密碼,驗(yàn)證密碼是否正確)

1)客戶(hù)端發(fā)起ssh請(qǐng)求,服務(wù)器會(huì)把自己的公鑰發(fā)送給用戶(hù)

2)用戶(hù)會(huì)根據(jù)服務(wù)器發(fā)來(lái)的公鑰對(duì)密碼進(jìn)行加密

3)加密后的信息回傳給服務(wù)器,服務(wù)器用自己的私鑰解密,如果密碼正確,則用戶(hù)登錄成功


2.基于密鑰的登錄方式

1)首先在客戶(hù)端生成一對(duì)密鑰(ssh-keygen)

2)并將客戶(hù)端的公鑰ssh-copy-id 拷貝到服務(wù)端

3)當(dāng)客戶(hù)端再次發(fā)送一個(gè)連接請(qǐng)求,包括ip、用戶(hù)名

4)服務(wù)端得到客戶(hù)端的請(qǐng)求后,會(huì)到authorized_keys中查找,如果有響應(yīng)的IP和用戶(hù),就會(huì)隨機(jī)生成一個(gè)字符串,例如:acdf

5)服務(wù)端將使用客戶(hù)端拷貝過(guò)來(lái)的公鑰進(jìn)行加密,然后發(fā)送給客戶(hù)端

6)得到服務(wù)端發(fā)來(lái)的消息后,客戶(hù)端會(huì)使用私鑰進(jìn)行解密,然后將解密后的字符串發(fā)送給服務(wù)端

7)服務(wù)端接受到客戶(hù)端發(fā)來(lái)的字符串后,跟之前的字符串進(jìn)行對(duì)比,如果一致,就允許免密碼登錄


基于密鑰的認(rèn)證:

1)在客戶(hù)端生成密鑰對(duì) ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

-t 指定算法 (默認(rèn)是rsa算法) -P指定私鑰的口令,什么都不寫(xiě)就是生成的私鑰沒(méi)有口令 -f 指定私鑰文件路徑(默認(rèn)是/root/.ssh/id_rsa)


2)把公鑰文件傳輸至遠(yuǎn)程服務(wù)器對(duì)應(yīng)用戶(hù)的家目錄 ssh-copy-id -i /root/.ssh/id_rsa 192.168.10.107

ssh-copy -i /root/.ssh/id_rsa 192.168.10.107 該命令看似傳輸?shù)氖撬借€,其實(shí)傳輸?shù)氖枪€,我們來(lái)看一下公私鑰是什么樣的


如下圖:我們看到公私鑰的內(nèi)容


?


在服務(wù)器上的家目錄下查看一下authorized_keys這個(gè)文件是否生成


再來(lái)查看一下這個(gè)文件authorized_keys


對(duì)比一下上面的公私鑰的內(nèi)容,可以發(fā)現(xiàn)傳輸?shù)拇_實(shí)是公鑰

3)測(cè)試

好了,現(xiàn)在我們開(kāi)始連接服務(wù)器了,如下圖,發(fā)現(xiàn)直接就能連接上去了,不用輸密碼


4)在SecureCRT或Xshell實(shí)現(xiàn)基于key驗(yàn)證

在SecureCRT工具—>創(chuàng)建公鑰—>生成Identity.pub文件

轉(zhuǎn)化為openssh兼容格式(適合SecureCRT,Xshell不需要轉(zhuǎn)化格式),并復(fù)制到需登錄主機(jī)上相應(yīng)文件authorized_keys中,注意權(quán)限必須為600,在需登錄的ssh主機(jī)上執(zhí)行:

ssh-keygen-i-f Identity.pub >> .ssh/authorized_keys

5)重設(shè)私鑰口令:ssh-keygen –p

如果你覺(jué)得你的口令不安全,就可以重設(shè)私鑰口令,我們上面就沒(méi)有對(duì)私鑰設(shè)口令,這是很不安全的,下面我就給私鑰重設(shè)口令,如下圖,我們可以發(fā)現(xiàn)重設(shè)私鑰密碼后,再去連接服務(wù)器,就不會(huì)那么容易了,需要你輸入設(shè)定的私鑰密碼


6)驗(yàn)證代理(authentication agent)保密解密后的密鑰

?這樣口令就只需要輸入一次

?在GNOME中,代理被自動(dòng)提供給root用戶(hù)

?否則運(yùn)行ssh-agent bash

7)鑰匙通過(guò)命令添加給代理

ssh-add

第六步和第七步合在一起用,我們?cè)诠芾矶嗯_(tái)服務(wù)器時(shí),你要一個(gè)一個(gè)的連接,一個(gè)一個(gè)的輸密碼,連接上去,這樣十分麻煩的,而且效率低下,我們可以基于秘鑰登陸的方式,來(lái)連接多臺(tái)服務(wù)器,這樣你在連接多臺(tái)服務(wù)器時(shí),就不用一個(gè)一個(gè)的輸入每一臺(tái)服務(wù)器的密碼了,你只需記住一個(gè)私鑰密碼,連接的時(shí)候輸入私鑰密碼,就可以連接多臺(tái)服務(wù)器了,如果你連私鑰密碼都懶得輸入,就可以將第六步和第七步結(jié)合在一起使用,如下圖,先驗(yàn)證代理,再把私鑰密碼托管給代理,這樣你再去連接其他服務(wù)器就不用輸入私鑰密碼了


?

scp命令–走ssh端口的遠(yuǎn)程復(fù)制命令

scp[options] SRC... DEST/ 源可以有多個(gè)

兩種方式:可以將遠(yuǎn)程主機(jī)的文件拷到本機(jī)上,也可以將本機(jī)的文件拷到遠(yuǎn)程主機(jī)

scp[options] [user@]host:/sourcefile /destpath

scp 192.168.10.178:/app/testdir/ /app/linshi

scp[options] /sourcefile [user@]host:/destpath

scp /app/linshi 192.168.10.178:/app/testdir

常用選項(xiàng):

-C:壓縮數(shù)據(jù)流

-r:遞歸復(fù)制

-p:保持原文件的屬性信息

-q:靜默模式

-P port:指明remote host 的監(jiān)聽(tīng)的端口

rsync命令–更聰明的復(fù)制

基于ssh和rsh服務(wù)實(shí)現(xiàn)高效率的遠(yuǎn)程系統(tǒng)之間復(fù)制文件

使用安全的shell連接做為傳輸方式

?rsync –av/etc server1:/tmp復(fù)制目錄和目錄下文件

?rsync –av/etc/ server1:/tmp只復(fù)制目錄下文件

如下圖:testdir后面不加/,復(fù)制testdir目錄和目錄下文件,加/,只復(fù)制testdir目錄下的文件,testdir目錄文身不復(fù)制


比scp更快,只復(fù)制不同的文件,若只是想更新變化了的文件,就用rsync

選項(xiàng):

-n 模擬復(fù)制過(guò)程(并不真實(shí)去復(fù)制,只是演示一下復(fù)制過(guò)程)

-v 顯示詳細(xì)過(guò)程

-r 遞歸復(fù)制目錄樹(shù)

-p 保留權(quán)限

-t 保留時(shí)間戳

-g 保留組信息

-o 保留所有者信息

-l 將軟鏈接文件本身進(jìn)行復(fù)制(默認(rèn))

-L 將軟鏈接文件指向的文件復(fù)制

-a 存檔,相當(dāng)于–rlptgoD,但不保留ACL(-A)和SELinux屬性(-X)

?

好了就,今天的內(nèi)容就到這里,希望對(duì)大家能有所幫助

?

?

?

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的ssh客户端的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。