1. 程式人生 > >ssh遠程控制服務

ssh遠程控制服務

ssh遠程登錄

ssh遠程控制服務

簡介

SSH 為 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺-包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。

實驗過程

基於口令的安全驗證

準備兩臺Linux系統的虛擬機,一臺做ssh服務器,另一臺做客戶機用來遠程登錄服務器,首先ssh服務是Linux系統默認安裝好的,我們可以直接進行配置文件的修改

[root@linux6-1 ~]# vim /etc/ssh/sshd_config     //ssh的配置文件
#Port 22     //ssh的端口號
#PermitRootLogin yes     //默認允許root遠程連接,但這裏是註釋掉的,所以我們要刪掉#,把後面的yes 改為no

此時我們重啟ssh服務,使用另一臺Linux6-4來進行登錄,但是這裏我們要先創建一個用戶用來登錄,所以先創建用戶,而且要允許這個用戶遠程登錄

[root@linux6-1 ~]# vim /etc/ssh/sshd_config
AllowUsers zhangsan   //在剛剛修改的permitrootlogin那一段的後面加入允許zhangsan登錄

[root@linux6-1 ~]# useradd zhangsan
[root@linux6-1 ~]# echo "123123" | passwd --stdin zhangsan
更改用戶 zhangsan 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。

好了,用戶創建好之後我們就可以使用另一臺Linux6-4進行登錄了

[root@rhel6-4 ~]# ssh [email protected]     //進行遠程登錄
[email protected]‘s password:    //輸入zhangsan用戶的密碼 
[zhangsan@linux6-1 ~]$      //然後就可以看到使用zhangsan用戶在Linux6-4上登錄了Linux6-1的系統了

 但是這裏有一個問題了,如果我們知道root的密碼,可以使用zhangsan用戶直接切換到root用戶,這樣是不安全的
[zhangsan@linux6-1 ~]$ su - root
密碼:
[root@linux6-1 ~]# 

所以我們要進行配置文件的修改,啟用pam認證,在創建一個lisi用戶,把zhangsan用戶添加到wheel組裏,然後就會看到zhangsan可以切換到root,而lisi就不能切換到root用戶了

[root@linux6-1 ~]# useradd lisi      //創建lisi用戶
[root@linux6-1 ~]# echo "123123" | passwd --stdin lisi
更改用戶 lisi 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
[root@linux6-1 ~]# gpasswd -a zhangsan wheel       //把zhangsan用戶添加到wheel組
Adding user zhangsan to group wheel
[root@linux6-1 ~]# vim /etc/pam.d/su     //進入pam的配置文件啟用pam認證

#auth            required        pam_wheel.so use_uid     //將這條前面的#刪除,表示啟用pam認證
[root@linux6-1 ~]# service sshd restart     //重新啟動ssh服務
停止 sshd:                                                [確定]
正在啟動 sshd:                                            [確定]

此時在客戶機上使用zhangsan和lisi用戶進行登錄,會看到zhangsan可以切換到root,而lisi不能進行切換

技術分享圖片

技術分享圖片

基於密匙的安全驗證

首先我們要在配置文件中開啟密鑰驗證登錄

[root@linux6-1 ~]# vim /etc/ssh/sshd_config

#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys     //去掉前面的#註釋,表示開啟公鑰、私鑰驗證

[root@linux6-1 ~]# service sshd restart
停止 sshd:                                                [確定]
正在啟動 sshd:                                            [確定]

然後在客戶機上產生公鑰和私鑰
先在客戶機上創建一個zhangsan用戶的映射用戶zhaosi

[root@rhel6-4 ~]# useradd zhaosi
[root@rhel6-4 ~]# echo "123123" | passwd --stdin zhaosi
更改用戶 zhaosi 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。

[root@rhel6-4 zhaosi]# su - zhaosi     //切換到zhaosi用戶
[zhaosi@rhel6-4 ~]$ 
[zhaosi@rhel6-4 ~]$ ssh-keygen -t rsa       //生成密鑰
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zhaosi/.ssh/id_rsa): 
Created directory ‘/home/zhaosi/.ssh‘.
Enter passphrase (empty for no passphrase):     //輸入密鑰密碼,如123456
Enter same passphrase again: 
Your identification has been saved in /home/zhaosi/.ssh/id_rsa.
Your public key has been saved in /home/zhaosi/.ssh/id_rsa.pub.
The key fingerprint is:
07:2e:d3:12:ba:e8:d4:16:1e:82:87:1f:9d:9a:77:7c zhaosi@rhel6-4
The key‘s randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|      . .        |
| o . o + .       |
|o + * + S .      |
| o O = + .       |
|  * * o E        |
| o o . .         |
|  .              |
+-----------------+

就會看到產生了這樣一個2048的密鑰

然後我們可以查看密鑰產生在哪裏

[zhaosi@rhel6-4 ~]$ cd /home/zhaosi
[zhaosi@rhel6-4 ~]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla  .ssh      //密鑰就在.ssh目錄下
[zhaosi@rhel6-4 .ssh]$ ls
id_rsa  id_rsa.pub

然後我們通過zhaosi用戶將私鑰發送給zhangsan用戶

[zhaosi@rhel6-4 .ssh]$ ssh-copy-id -i id_rsa.pub [email protected]

[zhaosi@rhel6-4 .ssh]$ ssh-copy-id -i id_rsa.pub [email protected]     //這裏輸入的是zhangsan用戶的密碼

然後我們在切換到ssh服務器(也就是linux6-1)去查看收到的私鑰文件

[root@linux6-1 ~]# cd /home/zhangsan/.ssh
[root@linux6-1 .ssh]# ls
authorized_keys
[root@linux6-1 .ssh]# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4MH8kr9+D9uy8J+I8qldCrA6zFxzyRS1AnfOofHP0iDr6rS1nlKzMPIsQG1B3TWPhqbTEwtiiiS5omsCqoc4r79nOhwH8ys7bc+OPJIZtVai3PLepCD8w3LF5hjo8Q3j+WAiy5x2ZTooeVhTLYkmCJaz4/SsujwvbmsJeaxWphHu5Ka/6MNRH+zIzlF4MdRN6XSyI39ubbpOBqwRExXEIGnpw9OF31hFUBYMSoYz/aAHa3j+/CwOwgEXgtOVQNNksyjByvfQA2J5oMuJPSriMi9GDrN0mgw/7iPkXC9vmP5Hd/rniZvwz6UNHm+Quse4q9UIHwximCNPuIeuNl1VYQ== zhaosi@rhel6-4          //這裏就是收到的私鑰文件,在最後面可以看到是rhel6-4的zhaosi用戶發送過來的

此時我們在用zhangsan用戶在客戶機上登錄只用輸入123456就可以了

ssh遠程控制服務