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

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

生活随笔

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

编程问答

构建SSH服务

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构建SSH服务 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是SSH?
簡(jiǎn)單說(shuō),SSH是一種網(wǎng)絡(luò)協(xié)議,用于計(jì)算機(jī)之間的加密登錄。如果一個(gè)用戶從本地計(jì)算機(jī),使用SSH協(xié)議登錄另一臺(tái)遠(yuǎn)程計(jì)算機(jī),我們就可以認(rèn)為,這種登錄是安全的,即使被中途截獲,密碼也不會(huì)泄露。最早的時(shí)候,互聯(lián)網(wǎng)通信都是明文通信,一旦被截獲,內(nèi)容就暴露無(wú)疑。1995年,芬蘭學(xué)者Tatu Ylonen設(shè)計(jì)了SSH協(xié)議,將登錄信息全部加密,成為互聯(lián)網(wǎng)安全的一個(gè)基本解決方案,迅速在全世界獲得推廣,目前已經(jīng)成為L(zhǎng)inux系統(tǒng)的標(biāo)準(zhǔn)配置。
SSH只是一種協(xié)議,存在多種實(shí)現(xiàn),既有商業(yè)實(shí)現(xiàn),也有開(kāi)源實(shí)現(xiàn)。本文針對(duì)的實(shí)現(xiàn)是OpenSSH,它是自由軟件,應(yīng)用非常廣泛。這里只討論SSH在Linux Shell中的用法。如果要在Windows系統(tǒng)中使用SSH,會(huì)用到另一種軟件PuTTY,這需要另文介紹。

中間人攻擊
SSH之所以能夠保證安全,原因在于它采用了公鑰加密。
整個(gè)過(guò)程是這樣的:(1)遠(yuǎn)程主機(jī)收到用戶的登錄請(qǐng)求,把自己的公鑰發(fā)給用戶。(2)用戶使用這個(gè)公鑰,將登錄密碼加密后,發(fā)送回來(lái)。(3)遠(yuǎn)程主機(jī)用自己的私鑰,解密登錄密碼,如果密碼正確,就同意用戶登錄。
這個(gè)過(guò)程本身是安全的,但是實(shí)施的時(shí)候存在一個(gè)風(fēng)險(xiǎn):如果有人截獲了登錄請(qǐng)求,然后冒充遠(yuǎn)程主機(jī),將偽造的公鑰發(fā)給用戶,那么用戶很難辨別真?zhèn)巍R驗(yàn)椴幌駂ttps協(xié)議,SSH協(xié)議的公鑰是沒(méi)有證書(shū)中心(CA)公證的,也就是說(shuō),都是自己簽發(fā)的。
可以設(shè)想,如果攻擊者插在用戶與遠(yuǎn)程主機(jī)之間(比如在公共的wifi區(qū)域),用偽造的公鑰,獲取用戶的登錄密碼。再用這個(gè)密碼登錄遠(yuǎn)程主機(jī),那么SSH的安全機(jī)制就蕩然無(wú)存了。這種風(fēng)險(xiǎn)就是著名的"中間人攻擊


構(gòu)建SSH遠(yuǎn)程管理
---------SSH服務(wù)器-------------Client---------
192.168.1.1 192.168.1.100
一、密碼驗(yàn)證
root@localhost ~]# vi /etc/ssh/sshd_config 修改:
Port 22
Protocol 2
ListenAddress 192.168.1.1
UseDNS no
PermitRootLogin no
PermitEmptyPasswords no
LoginGraceTime 2m
MaxAuthTries 6
AllowUsers hehe xixi@192.168.1.100 客戶端驗(yàn)證:
[root@localhost ~]# ssh 192.168.1.1
[root@localhost ~]# ssh hehe@192.168.1.1
[root@localhost ~]# ssh haha@192.168.1.1
[root@localhost ~]# ssh xixi@192.168.1.1
二、秘鑰對(duì)驗(yàn)證
例如:
ssh-keygen -b 4096 -t dsa
客戶端:
[root@localhost ~]#ssh-keygen
[root@localhost ~]#ssh-copy-id -i /home/hehe/.ssh/id_rsa.pub root@192.168.1.1
注意:ssh-copy-id:把密鑰追加到遠(yuǎn)程主機(jī)的 .ssh/authorized_key 上
[root@localhost ~]#ssh root@192.168.1.1
或者
[hehe@localhost .ssh]$ ssh-keygen
[hehe@localhost .ssh]$ scp id_rsa.pub root@192.168.1.1:/root/
注意:在上傳公鑰時(shí),不要關(guān)閉密碼驗(yàn)證,否則將無(wú)法上傳。
服務(wù)器端:
[root@localhost ~]# vim /etc/ssh/sshd_config
修改:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
[root@localhost ~]#cp /root/id_rsa.pub /root/.ssh/authorized_keys
增加其他用戶
[root@localhost ~]#cat id_rsa.pub >> .ssh/authorized_keys
[root@localhost ~]# service sshd restart
客戶端驗(yàn)證:
[hehe@localhost .ssh]$ ssh root@192.168.1.1 結(jié)論:不使用密碼。而是使用秘鑰對(duì)驗(yàn)證登錄。
思考:如果客戶端lisi用戶,把公鑰拷貝到了服務(wù)端han用戶下。將會(huì)怎么樣?
(lisi用戶ssh han@192.168.56.200時(shí)無(wú)需密碼)
結(jié)論希望哪個(gè)用戶免密碼就拷貝到哪個(gè)用戶。
-----------------------------------
遠(yuǎn)程執(zhí)行命令:ssh root@192.168.56.200 date
-----------------------------------
講解scp命令
1、本地--->>>---服務(wù)器(類似上傳)
文件:
[root@localhost ~]# scp 222.txt root@192.168.1.1:/root
目錄:
[root@localhost ~]# scp -r /root/hehe root@192.168.1.1:/root
2、服務(wù)器--->>>---本地(類似下載)
文件:
[root@localhost ~]# scp root@192.168.1.1:/root/222.txt ./
目錄:
[root@localhost ~]# scp -r root@192.168.1.1:/root/hehe ./


---------------------------------------------------------------------------------------
1. ssh命令用法
連接到遠(yuǎn)程主機(jī)
# ssh root@192.168.1.120 // 默認(rèn)連接到目標(biāo)主機(jī)的tcp 22端口

連接到其他ssh端口
# ssh -p 10022 root@192.168.1.120

連接到遠(yuǎn)程主機(jī),并執(zhí)行一條命令
# ssh root@192.168.1.120 ls -l

在ssh命令后面,直接加上在遠(yuǎn)程主機(jī)上要執(zhí)行的命令。

打開(kāi)調(diào)試模式
# ssh -v root@192.168.1.120

-v參數(shù)追蹤調(diào)試建立的SSH連接,可以看到在哪個(gè)環(huán)節(jié)出了問(wèn)題。

對(duì)所有數(shù)據(jù)請(qǐng)求壓縮
# ssh -C root@192.168.1.120

所有通過(guò)ssh發(fā)送或接收的數(shù)據(jù)將會(huì)被壓縮,并且仍然是加密的。

指定ssh源地址
如果你的ssh客戶端有多于兩個(gè)以上的IP地址,可以使用-b選項(xiàng)來(lái)指定一個(gè)IP地址。這個(gè)IP將會(huì)被用做建立連接的源地址。

# ssh -b 192.168.0.200 root@192.168.1.120

查看是否已經(jīng)添加了對(duì)應(yīng)主機(jī)的ssh密鑰
# ssh-keygen -F 192.168.1.120

刪除對(duì)應(yīng)主機(jī)的ssh訪問(wèn)密鑰
# ssh-keygen -R 192.168.1.120

也可以在主機(jī)的~/.ssh/known_hosts文件中手動(dòng)刪除公鑰。

轉(zhuǎn)載于:https://www.cnblogs.com/luoyan01/p/9733656.html

總結(jié)

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

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