1.SSHD服務

1. SSHD服務

1SSH協議:安全外殼協議,爲Secure Shell的縮寫。SSH是建立在應用層和傳輸層基礎上的安全協議,sshd服務使用ssh協議來進行遠程控制和完成計算機之間的文件傳送。傳統的傳輸方式是telnet(終端仿真協議),這種方式極爲不安全,並且會使用明文傳輸密碼。

2OpenSSH軟件包,提供了服務端後臺程序和客戶端工具,用來加密遠程控件和文件傳輸過程中的數據,並由此來代替原來類似的服務。

OpenSSH服務需要的3個軟件包:

[root@zhao1 ~]# rpm -qa | grep openssh#查看已安裝的openssh相關軟件包

openssh-5.3p1-84.1.el6.x86_64#包含openssh服務器及客戶端的核心文件

openssh-askpass-5.3p1-84.1.el6.x86_64

openssh-clients-5.3p1-84.1.el6.x86_64#openssh客戶端軟件包

openssh-server-5.3p1-84.1.el6.x86_64#openssh服務器軟件包

[root@zhao1 ~]# rpm -pqi /mnt/Packages/openssh-5.3p1-84.1.el6.x86_64.rpm #查看該軟件包的作用

(3)OpenSSH配置文件

[root@zhao1 ~]# rpm -pql /mnt/Packages/openssh-server-5.3p1-84.1.el6.x86_64.rpm#查看該軟件包所包含的配置文件

OpenSSH常用的配置文件是:/etc/ssh/sshd_config/etc/ssh/ssh_config,其中/etc/ssh/sshd_config爲服務端配置文件,/etc/ssh/ssh_config爲客戶端配置文件。

服務端的配置文件:

[root@zhao1 ~]# vim /etc/ssh/sshd_config

 13 #Port 22#設置sshd監聽端口號

SSH預設會使用22這個port,也可以使用多個port。例如,想要開放sshd端口爲22222,此時可以多加一行Port 222即可,然後重啓sshd就好了。

 15 #ListenAddress 0.0.0.0#設置sshd服務器綁定的IP地址,0.0.0.0表示監聽所有地址

 21 Protocol 2#選擇SSH的協議版本,如果想支持版本1,可以改爲Protocol 21

 36 SyslogFacility AUTHPRIV#定義日誌類別,默認日誌在/var/log/secure文件中

查看系統各類日誌存放地點:

[root@zhao1 ~]# vim /etc/rsyslog.conf

 41 #LoginGraceTime 2m#多長時間沒有成功連上SSH就強迫斷線

 42 #PermitRootLogin yes#是否允許root登錄

 64 #PasswordAuthentication yes#密碼驗證

 65 #PermitEmptyPasswords no#是否允許空密碼登錄

112 #PrintMotd yes#登錄後打印出登錄時間、地點以及/etc/motd中的內容

116 #UsePrivilegeSeparation yes#是否允許權限較低的用戶操作程序

122 #UseDNS yes

 80 #GSSAPIAuthentication no#此兩項爲使用DNS去反查客戶端的主機名,來判斷客戶端的來源是否正常合法,常用於內網中

123 #PidFile /var/run/sshd.pid#放置SSHD這個PID文檔的地點

(4)服務的開啓、關閉及狀態的查看

方法1

[root@zhao1 ~]# service sshd status/start/stop/restart

方法2
[root@zhao1 ~]# /etc/init.d/sshd status/start/stop/restart

服務開機狀態的設定

[root@zhao1 ~]# chkconfig --list sshd#服務狀態的查看

sshd           0:off1:off2:on3:on4:on5:on6:off

[root@zhao1 ~]# chkconfig sshd on#服務開機自動開啓

[root@zhao1 ~]# chkconfig sshd off#服務開機自動關閉

(5)SSH遠程登錄

連接方式:ssh [遠程主機用戶名]@[遠程服務器主機名或IP地址]

方式1root用戶遠程登錄

[root@zhao1 ~]# ssh 192.168.1.212

方式2:普通用戶遠程登錄

[root@zhao1 ~]# ssh [email protected]

說明:

第一次登錄服務器時系統沒有保存遠程主機的信息,爲了確定該主機的身份會提示用戶是否繼續連接,輸入yes後,這時系統會將服務器的信息寫入用戶主目錄的$HOME/.ssh/known_hosts文件中,下次再次登錄時就不會提示次信息了。

克隆後的虛擬機,默認網卡會變爲eth1,執行以下命令可以修改爲eth0

[root@zhao1 ~]# rm -fr /etc/udev/rules.d/70-persistent-net.rules

(6)通過密鑰進行sshd服務認證

實驗環境:

服務端:zhao1/192.168.1.211

客戶端:zhao2/192.168.1.212

第一步:客戶端生成密鑰對

[root@zhao2 ~]# ssh-keygen

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:

cb:32:17:d1:5a:3f:e9:52:dc:03:18:75:99:7c:2a:1e root@zhao2

The key's randomart image is:

+--[ RSA 2048]----+

|          .....o |

|         . o .+ .|

|        . + .  o |

|         + oE+.  |

|        S  .*oo  |

|       . o o.. . |

|      o + . .    |

|       +   .     |

|                 |

+-----------------+

[root@zhao2 ~]# cd /root/.ssh/

[root@zhao2 .ssh]# ls

id_rsa  id_rsa.pub

第二步:發佈公鑰

使用 ssh-copy-id命令將客戶端的公鑰發佈到遠程服務器192.168.1.211,可以使用-i參數指定本地公鑰存放的位置。

[root@zhao2 .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

The authenticity of host '192.168.1.211 (192.168.1.211)' can't be established.

RSA key fingerprint is d5:fb:5b:0e:df:9d:37:aa:17:42:1d:b5:39:9f:b1:e3.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.1.211' (RSA) to the list of known hosts.

[email protected]'s password:

Now try logging into the machine, with "ssh '[email protected]'", and check in:

 

  .ssh/authorized_keys

 

to make sure we haven't added extra keys that you weren't expecting.

第三步:連接遠程服務器

[root@zhao2 .ssh]# ssh [email protected]

[root@zhao1 ~]#

(7)實現兩臺服務器之間數據的複製

SCP源地址目標地址

SCP命令:基於ssh登錄並複製數據,複製過程很安全,操作起來很方便。

[root@zhao1 ~]# scp /etc/passwd [email protected]:/mnt

[email protected]'s password:

passwd         


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章