歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

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 [email protected]:/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 [email protected] //以user1身份登入服務器

 

2.windows下使用遠程登錄客戶端登錄

時下最流行的是putty這款登錄軟件,無需安裝,下載下來就可以使用,簡單、方便、安全!

·當服務器使用口令驗證方式時,只需輸入用戶名和密碼即可

 

·當服務器使用密鑰驗證方式時,需要作以下幾步操作:

1.下載puttygen軟件,這個軟件用來生成密鑰對

2.打開puttygen,在"生成的密鑰類型"欄裡點選“SSH-2 RSA”

3.點擊“生成”,軟件自動生成密鑰

4.輸入密鑰密碼,點擊“保存私鑰”。這個私鑰是以後作為putty登錄所必需加載的密鑰信息,慎防丟失

5.復制公鑰信息,在windows下新建記事本進行保存

6.將保存有公鑰信息的記事本文件上傳到服務器上,再用vim檢查裡面的信息是否都排成一行(注意,裡面的公鑰信息必需是一行,信息必需完整)

7.將其文件命名為authorized_keys,並拷貝到相應用戶家目錄下的.ssh/目錄裡

Copyright © Linux教程網 All Rights Reserved