ssh遠程登錄配置、公私鑰密碼ssh體系構建

1、遠程登錄服務openssh
openssh服務器提供ssh遠程加密登錄,經常使用於公網,加密數據傳輸過程當中安全,默認裝機最小化時候也是裝好的,sshd服務配置文件是/etc/ssh/sshd_conf,ssh協議的端口號默認是22,以防別人發起端口***,現網中正常都是換1024以上的端口號,1024之內通常都有使用需求
talent:遠程登錄 默認端口號23,明文傳輸經常使用於局域網
配置文件/etc/ssh/sshd_config功能詳解
2、用戶登錄控制linux

port 22 // 端口22
listenadderss // 服務器全部網卡能夠監聽,那麼只要連服務器任何一塊網卡均可以去享受這個ssh服務算法

LoginGrace Time // 登錄驗證時間 2min
PermitRootLogin NO //不容許root登錄——》現網中都是以普通用戶身份登錄,輸入用戶名密碼切換到系統安全shell環境,su - 切換成root,這是安全的意識
maxauthtries //最大重試次數
當容許或者禁用某些用戶登陸時候 allowusers denyusers,不要同時出現,要麼容許誰,要麼禁止誰
Allowusers tom jack lucu @192.168.10.40 // 容許這三我的登錄10.40這個服務器 這個不是配置文件裏面默認的選項,須要手動添加
因此會有這麼個需求,root用戶不能遠程登錄,普通用戶登錄進去su - root這麼個說法,就是經過這兩條語句實現
PermitRootLogin NO
Allowusers tom jack lucu @192.168.10.40
注意這個allow只容許,deny很強大,他優先級優先只容許誰登錄,後面把PermitRootLogin NO改爲yes ,要把這個allow去掉或者裏面加上root,容易出錯的地方
3、登錄驗證方式
首先來了解一下,加密驗證的三種方式
對稱加密:加密方和解密方密碼一致驗證,常見的就是用戶名的密碼驗證,服務器上記錄了這個用戶名的密碼,你輸入了這個用戶名的密碼,一致,驗證經過。優點:簡便 。劣勢:從客戶端來看正在鏈接的服務器容易被假冒,就是你拿到了tom密碼,就必定說明你就是tom這我的嗎,從服務器來看,
此種加密容易遭到密碼的窮舉暴力破解
非對稱加密:加密密碼和解密密碼不同,簡稱爲祕鑰對,公私鑰。加密一個文件出現一對密碼,一個公鑰,一個私鑰,私鑰加密,公鑰解密 一般先在客戶端建立一對祕鑰文件產生關聯識別的公私鑰(經過必定算法認識彼此),私鑰客戶端存着,公鑰文件放在服務器指定位置,客戶端遠程登錄服務器時,系統看到私鑰,會比對公鑰庫,進行公私鑰關聯驗證,如過有經過,沒有不經過,因此服務器就有公鑰文件庫,每一個客戶端都有一把私鑰,客戶端來鏈接我服務器,好,出示私鑰,我來比對公鑰庫,有沒有公鑰來和你進行匹配驗證經過,有經過,沒有走人,因此你看到服務器公鑰上沒有用,沒法用公鑰推算私鑰,這和公私鑰產生的數學算法有關,得有私鑰匹配才行。
ssh遠程登錄配置、公私鑰密碼ssh體系構建
單向加密:文件加密後不解密,多用於驗證,哈希值加密,密文用來驗證文件完整性,舉個例子,網上有個軟件包,哈希密文是一個值,你經過不論是網絡仍是什麼渠道下載到本身電腦裏,若是軟件包的哈希值仍是同樣,那麼就說明軟件包很純淨,我不須要解密,只須要對比,這就是單向加密。
總結:在現網中,對於安全性要求較高服務器,建議禁止用戶名密碼登陸方式,採用祕鑰對,若是配置文件中兩種方式都啓用,默認祕鑰對優先
passwdauthentication yes // 啓用密碼驗證
pubkeyauthentication yes // 啓用祕鑰對驗證
AuthorizedKeysFile .ssh/authorized_keys //指定公鑰文件庫,收集各個客戶端的公鑰存放在一塊兒
4、客戶端登陸方式
若是你的客戶端是微軟,你可使用微軟上的xshell,putty等第三方軟件遠程登錄ssh服務器,這是咱們比較常見的,在現網中也可使用一臺linux登錄另外一臺linux,這都是沒有問題的,openssh客戶端由openssh-clients軟件包提供(默認裝好),其中包括ssh遠程登錄命令,scp,sftp遠程複製和文件傳輸命令等,實際上,任何支持ssh協議的客戶端均可以域openssh服務器進行通訊,微軟上經過第三方軟件進行,好比xshell,putty。
4.一、用戶名密碼登陸
4.1.一、ssh遠程登錄
ssh 用戶名 @服務器 -p 指定端口
ssh tom@192.168.10.30 -p 1098
ssh遠程登錄配置、公私鑰密碼ssh體系構建
服務器不是有用戶名密碼呀tom 123 ,輸入ssh tom@192.168.10.30就是至關於你坐在這臺10.30服務器旁邊同樣,你擁有了10.30服務器的一切什麼bash環境啥的
ssh遠程登錄配置、公私鑰密碼ssh體系構建shell

4.1.二、scp遠程複製
ssh能夠遠程登錄,可是你就是對方了,登錄若是對目標服務器進行維護修改操做還行,但是我怎麼把上面文件傳輸到我真實的電腦上呢,那就用到scp命令,格式須要注意,scp是在客戶機本身身上敲的代碼不是服務器
經過scp命令利用ssh的安全鏈接與遠程主機相互複製文件,至關於登錄其實,只不過能夠遠程登錄服務器把上面文件複製到本身真實電腦上
你能夠從服務器下載文件到客戶機,也能夠從客戶機上傳文件到服務器
下載格式:scp 用戶名@目標服務器 :絕對路徑服務器上文件 絕對路徑本機文件(重命名)
scp root@192.168.10.30:/etc/passwd /root/pwd.txt
用root身份登錄10.20這個服務器 去複製passwd文件到本身家目錄下而且重命名爲pwd.txt
ssh遠程登錄配置、公私鑰密碼ssh體系構建數據庫

上傳格式
scp -r /etc/passwd root@192.168.10.30: /opt
把本身本機文件passwd 以root身份登錄到對方服務器而且複製到對方服務器opt目錄下
ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建
4.1.三、sftp 安全 FTP
經過 sftp 命令能夠利用 SSH 安全鏈接與遠程主機上傳、下載文件,採用了與 FTP 相似的登陸過程和交互式環境,便於目錄資源管理,實現文件上傳下載的便捷高效性
sftp root@192.168.10.30 //sftp登錄10.30這個服務器
10.40根下有個kaka空文件 10.30根下有個lala空文件,10.30是遠程鏈接主機,10.30是本地
ssh遠程登錄配置、公私鑰密碼ssh體系構建
put /kaka / 把本地根目錄下kaka文件上傳到遠程主機根目錄下
get /lala / 把遠程主機根下lala文件下載到本機根目錄下
5、構建密鑰對驗證的ssh體系
做用:每個用戶公私鑰匹配才能登錄,遠程登錄中提供了比用戶名密碼更好的安全性,沒法用窮舉法暴力破解
注意:密鑰對要以用戶的身份生成,咱們驗證的用戶登錄系統的匹配機制,非對稱加密密鑰對和對稱加密的密碼
步驟一:ssh客戶端以zhangsan身份建立密鑰對
步驟二:將zhangsang的公鑰上傳到服務器端
步驟三:將zhangsang的公鑰給lisi的保管,這裏須要理解一下,說白了就是一一對應法則,公私鑰要以與用戶爲媒介,客戶端有zhangsan這個用戶,拿着本身的私鑰,把公鑰給了服務器上的信的過的lisi用戶保管,當zhangsan拿着本身私鑰要登陸系統時候,服務器上lisi拿着zhangsan的給的公鑰對比一下,過了zhangsan就驗證經過lisi登上服務器,你登陸服務器的權限是服務器給lisi的權限,不對就登不上去,公私鑰匹配,怎麼匹配,客戶機和服務器上各自保管祕鑰的用戶拿着跑過來匹配,私鑰配公鑰,zhangsan配lisi。
步驟四:祕鑰對驗證登錄安全

ssh遠程登錄配置、公私鑰密碼ssh體系構建
1.在客戶端用zhangsan建立密鑰對
在 Linux 客戶端中,經過 ssh-keygen 工具爲當前用戶建立密鑰對文件。可用的加密算法爲 ECDSA 或 DSA(ssh-keygen 命令的「-t」選項用於指定算法類型)。例如,以 zhangsan用戶登陸客戶端,並生成基於 ECDSA 算法的 SSH 密鑰對(公鑰、私鑰)文件,操做以下所示。
ssh遠程登錄配置、公私鑰密碼ssh體系構建bash

ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建
二、將公鑰文件上傳至服務器
將上一步生成的公鑰文件上傳至服務器,並部署到服務器端用戶的公鑰數據庫中。上傳公鑰文件時能夠選擇 SCP、FTP、Samba、HTTP 甚至發送 E-mail 等任何方式。例如,能夠經過 SCP 方式將文件上傳至服務器的/tmp 目錄下。
ssh遠程登錄配置、公私鑰密碼ssh體系構建
3.在服務器中導入公鑰文本到lisi中
在服務器中,目標用戶(指用來遠程登陸的帳號 lisi)的公鑰數據庫位於~/.ssh 目錄,默認的文件名是「authorized_keys」。若是目錄不存在,須要手動建立。當得到客戶端發送過來的公鑰文件之後,能夠經過重定向將公鑰文本內容追加到目標用戶的公鑰數據庫
ssh遠程登錄配置、公私鑰密碼ssh體系構建服務器

4.在客戶端使用密鑰對驗證
當私鑰文件(客戶端)、公鑰文件(服務器)均部署到位之後,就能夠在客戶端中進行測試了。首先確認客戶端中當前的用戶爲 zhangsan,而後經過 ssh 命令以服務器端用戶 lisi的身份進行遠程登陸。若是密鑰對驗證方式配置成功,則在客戶端將會要求輸入私鑰短語,以便調用私鑰文件進行匹配(若未設置私鑰短語,則直接登入目標服務器)
ssh遠程登錄配置、公私鑰密碼ssh體系構建
五、把公鑰給寫的權限,改公鑰內容,看可否登陸上
ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建
咱們去服務器把密碼登陸關了
ssh遠程登錄配置、公私鑰密碼ssh體系構建
ssh遠程登錄配置、公私鑰密碼ssh體系構建網絡

ssh遠程登錄配置、公私鑰密碼ssh體系構建

相關文章
相關標籤/搜索