搭建SSH服務器

Linux 遠程登錄服務:ssh
SSH是標準的網絡協議,可用于大多數UNIX操作系統,能夠實現字符界面的遠程登錄管理,它默認使用22號端口,采用密文的形式在網絡中傳輸數據,相對于通過明文傳輸的Telnet,具有更高的安全性。
SSH提供了口令和密鑰兩種用戶驗證方式,這兩者都是通過密文傳輸數據的。
不同的是,口令用戶驗證方式傳輸的是用戶的賬戶名和密碼,這要求輸入的密碼具有足夠的復雜度才能具有更高的安全性。
而基于密鑰的安全驗證必須為用戶自己創建一對密鑰,并把共有的密鑰放在需要訪問的服務器上。當需要連接到SSH服務器上時,客戶端軟件就會向服務器發出請求,請求使用客戶端的密鑰進行安全驗證。服務器收到請求之后,先在該用戶的根目錄下尋找共有密鑰,然后把它和發送過來的公有密鑰進行比較。如果兩個密鑰一致,服務器就用公有的密鑰加密“質詢”,并把它發送給客戶端軟件??蛻舳耸盏劫|詢之后,就可以用本地的私人密鑰解密再把它發送給服務器。這種方式是相當安全的。
Linux下搭建ssh服務器
本人實驗平臺是Fedora14 2.6.35.6
一、安裝ssh
ssh軟件由兩部分組成:ssh服務端和ssh客戶端。
ssh的配置文件在/etc/ssh/目錄下,其中服務端的配置文件是sshd_config,客戶端的配置文件是ssh_config.
安裝ssh,在這里,只講述通過yum安裝的方法(前提是你的yum源配置正確,并且能使用):

yum install openssh-* -y

//yum會自動安裝所有openssh相關的軟件包
二、配置ssh服務器
根據ssh的兩種驗證方式,配置兩種不能安全級別的登錄方式。
通過口令驗證方式登錄
1.用vim編輯器打開sshd_config配置文件

vim /etc/ssh/sshd_config

2.對配置文件進行如下修改(根據自身實際情況可有所調整):
Port 22  //默認使用22端口,也可以自行修改為其他端口,但登錄時要打上端口號

ListenAddress   //指定提供ssh服務的IP,這里我注釋掉。

PermitRootLogin   //禁止以root遠程登錄
PasswordAuthentication  yes  //啟用口令驗證方式
PermitEmptyPassword   //禁止使用空密碼登錄
LoginGraceTime  1m   //重復驗證時間為1分鐘
MaxAuthTimes   3    //最大重試驗證次數
保存修改好的配置,退出。
3.重啟sshd服務

service sshd restart

通過密鑰對驗證方式登錄
1.在客戶端生成密鑰對
注:生成密鑰對前,需切換相應用戶身份。例如:當user1需要登錄到服務端時,user1必須在客戶端生成自己的密鑰文件。其他用戶也一樣。

su – user1

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:
33:ee:01:7d:c3:74:83:13:ef:67:ee:d7:60:2d:e1:16 root@localhost

ll -a .ssh/

總計 24
drwxrwxrwx 2 root root 4096 10-08 19:29 .
drwxr-x— 21 root root 4096 10-08 19:25
-rw——- 1 root root 1743 10-08 19:29 id_rsa     //創建的私鑰
-rw-r–r– 1 root root 396 10-08 19:29 id_rsa.pub  //創建的公鑰
-rw-r–r– 1 root root 790 2015-11-04 known_hosts
2.上傳公鑰文件到服務器或者用U盤拷貝到服務器里

scp .ssh/id_rsa.pub user1@192.168.1.100:/home/user1/

3.在服務器端,將公鑰文件添加到相應用戶的密鑰庫里

mkdir -p /home/user1/.ssh/       //注意,這里創建的。ssh目錄權限必需是除自己外,對其他用戶只讀,也就是權限位設置為644,所屬者與所屬者組都是其用戶

mv /home/user1/id_rsa.pub /home/user1/,ssh/authorized_keys   //由于生成的公鑰名稱與指定的公鑰名稱不符,因此需要將生成的文件名換成authorized_keys即可。

4.修改sshd_config配置文件:

vim /etc/ssh/sshd_config

PasswordAuthentication  no  //禁用口令驗證方式,不能把原有的PasswordAuthentication  yes注釋掉,注釋后,就算沒有公鑰也能通過口令登錄,這樣不安全,而且失去了密鑰驗證的意義。
RSAAuthentication yes   //啟用RSA驗證
PubkeyAuthentication yes  //啟用公鑰驗證
AuthorizedKeysFile     .ssh/authorized_keys   //啟用公鑰文件位置,后面的路徑是設置公鑰存放文件的位置
保存修改好的配置,退出。
5.重啟sshd服務

service sshd restart

三、登錄服務器
1.Linux客戶機

ssh 192.168.1.100   //輸入服務器IP登錄,不加用戶名默認以root身份登錄

或者

ssh user1@192.168.1.100   //以user1身份登入服務器

2.windows下使用遠程登錄客戶端登錄
時下最流行的是putty這款登錄軟件,無需安裝,下載下來就可以使用,簡單、方便、安全!
當服務器使用口令驗證方式時,只需輸入用戶名和密碼即可
當服務器使用密鑰驗證方式時,需要作以下幾步操作:
1.下載puttygen軟件,這個軟件用來生成密鑰對
2.打開puttygen,在”生成的密鑰類型”欄里點選“SSH-2 RSA”
3.點擊“生成”,軟件自動生成密鑰
4.輸入密鑰密碼,點擊“保存私鑰”。這個私鑰是以后作為putty登錄所必需加載的密鑰信息,慎防丟失
5.復制公鑰信息,在windows下新建記事本進行保存
6.將保存有公鑰信息的記事本文件上傳到服務器上,再用vim檢查里面的信息是否都排成一行(注意,里面的公鑰信息必需是一行,信息必需完整)
7.將其文件命名為authorized_keys,并拷貝到相應用戶家目錄下的。ssh/目錄里

原創文章,作者:sunhao,如若轉載,請注明出處:http://www.www58058.com/82580

(0)
sunhaosunhao
上一篇 2017-07-24
下一篇 2017-07-24

相關推薦

  • Shell腳本編程之循環(for、while、until)

    Shell腳本編程之循環(for、while、until)   一、循環語句的對比: for語句 while語句 until語句 執行機制: 依次將列表中的元素賦值給“變量名”; 每次賦值后即執行一次循環體; 直到列表中的元素耗盡,循環結束 CONDITION:循環控制條件;進入循環之前,先做一次判斷;每一次循環之后會再次做判斷;條件為“true”…

    Linux干貨 2016-08-18
  • 淺談Nginx(二)—http下server配置

    淺談Nginx(二)—http下server配置 此文介紹Nginx下的http模塊,著重介紹http模塊下的server服務 ——–依據”馬哥教育”主講人馬永亮導師的上課筆記整理——- 目錄  一. http相關的基本配置:     1)…

    系統運維 2017-02-07
  • 馬哥教育網絡班22期+第15周課程練習

    1、總結sed和awk的詳細用法; sed [OPTION]…  'script'  [input-file] … script: 地址定界編輯命令 常用選項: -n:不輸出模式空間中的內容至屏幕; -e script, –expression=sc…

    Linux干貨 2016-12-14
  • N26-第一周作業

    1、描述計算機的組成及其功能;  計算機組成部分分為硬件及軟件。  硬件:  計算機硬件主要有五大部分組成:運算器、控制器、存儲器、輸入設備、輸出設備;  1)運算器、控制器,統稱為處理器,也就是CPU:    主要功能是對各種數據進行運算,包括加、減、乘、除的算術運算,還包括進行邏輯判斷的能力,如…

    Linux干貨 2016-12-31
  • Linux之任務計劃 crontab

    Linux之任務計劃    用過windows的同學應該都知道在控制面板中有一個“任務計劃”選項,我們可以通過向導設置讓計算機在某個時間點或者開機時運行某個腳本或者批處理等等,方便我們的日常管理監視工作;同樣在Linux系統中,如果我們想在開機時就運行某個操作,可以直接將命令寫入/etc/rc.local中,該操作就會在機器開機時運行;如…

    Linux干貨 2015-05-18
欧美性久久久久