[root@zabbix-01 ~]# uname -a Linux zabbix-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
SSH是Secure Shell Protocol的簡寫算法
SSH先對聯機數據包經過加密技術進行加密處理,加密後在進行數據傳輸。確保了傳遞的數據安全shell
SSH服務主要提供兩個服務功能centos
一是提供相似telnet遠程聯機服務器的服務,即SSH服務;安全
另外一個是相似FTP服務的sftp-server,藉助SSH協議來傳輸數據的,提供更安全的SFTP服務(vsftp,proftp)。服務器
ssh服務的所在軟件包:openssh-clients、openssh-server網絡
[root@nfs01 ~]# rpm -ql openssh-server /etc/rc.d/init.d/sshd #ssh服務啓動腳本文件 /etc/ssh/sshd_config #ssh服務配置文件 /etc/sysconfig/sshd #ssh服務建立密鑰有關 /usr/sbin/.sshd.hmac #ssh服務加密算法有關文件 /usr/sbin/sshd #ssh服務進程啓動命令
[root@nfs01 ~]# rpm -ql openssh-clients /etc/ssh/ssh_config --- ssh服務客戶端配置文件 /usr/bin/.ssh.hmac /usr/bin/scp --- ssh服務遠程傳輸複製命令scp /usr/bin/sftp --- ssh服務遠程傳輸文件服務 /usr/bin/slogin --- ssh服務遠程登錄命令 /usr/bin/ssh --- ssh服務遠程登錄命令 /usr/bin/ssh-add /usr/bin/ssh-agent /usr/bin/ssh-copy-id --- ssh服務遠程分發公鑰命令 /usr/bin/ssh-keyscan
[e:\~]$ ssh 10.0.0.31 #端口號不能改才能這樣 Connecting to 10.0.0.31:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Oct 17 23:22:43 2017 from 10.0.0.253 [root@nfs01 ~]#
ssh服務基於密鑰認證過程dom
ssh配置文件默認登錄參數修改ssh
修改SSH服務的運行參數,是經過修改配置文件/etc/ssh/sshd_ config實現的。ide
通常來講SSH服務使用默認的配置已經可以很好的工做了,若是對安全要求不高,僅僅提供 SSH服務的狀況,能夠不須要修改任何配置。測試
命令參教 |
參數說明 |
Port |
指定sshd進程監聽的端口號,默認爲22。可使用多條指令監聽多個端口。默認將在本機的全部網絡接口上監聽,可是能夠經過 ListenAddress指定只在某個特定的接口上監聽。 |
PermitEmptyPasswords |
是否容許密碼爲空的用戶遠程登陸。默認爲"no"。 |
PermitRootLogin |
是否容許root登陸。可用值以下:" yes"(默認)表示容許。"no」表示禁止。 "without-password"表示禁止使用密碼認證登陸。" forced- commands-only"表示只有在指定了command選項的狀況下才容許使用公鑰認證登陸。同時其它認證方法所有被禁止。這個值經常使用於作遠程備份之類的事情。 1. 多開一個窗口 2. 臨時多部署一條鏈接方式 3. 給普通用戶 sudo權限 |
UseDNS |
指定sshd是否應該對遠程主機名進行反向解析,以檢查此主機名是否與其IP地址真實對應。默認值爲" yes"。 |
ListenAddress |
指定監聽並提供服務相應的網卡地址信息 |
[root@centos ~]#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori ##—>更改配置前進行備份,是系統管理員的一個良好的習慣。 [root@centos ~]#vi /etc/ssh/sshd_config #—>編輯 sshd_config Port 4188 #—>ssh鏈接默認端口爲22,這淮都知道。所以,爲提升安全級別,建議改掉它。 PermitRootLogin no #—>root超級用戶黑客都知道,建議禁止它遠程登錄能力。 PermitEmptyPasswords no #—>禁止空密碼登錄 UseDNS no #—>不使用DNS GSSA PI Authentication no #->認證的
#Port 22 --- 表示修改ssh服務默認端口號 #AddressFamily any --- 指定監聽ipv4地址,或是ipv6地址,或者全部都監聽 #ListenAddress 0.0.0.0 --- 監聽地址只能監聽本地網卡上配置的地址,監聽的網卡能夠對請求作出相應
[root@nfs01 ~]# ssh -p4188 10.0.0.41 root@10.0.0.41's password: Last login: Wed Oct 18 12:07:34 2017 from 10.0.0.31 [root@backup ~]#
[root@backup ~]# ssh-keygen -t rsa ### -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: 8b:bd:a3:10:5d:88:e4:ea:0f:3a:d1:13:7a:31:f1:45 root@backup The key's randomart image is: +--[ RSA 2048]----+ | ..E | | .o ... | | oo.. . | | +... . | | o.+. . S | |o.+ . o . | | oo.. . o | |.. o . .. | |.. . .... | +-----------------+ [root@backup ~]# ll ~/.ssh/ total 12 -rw------- 1 root root 1671 Oct 18 11:06 id_rsa -rw-r--r-- 1 root root 393 Oct 18 11:06 id_rsa.pub -rw-r--r-- 1 root root 1178 Oct 11 15:50 known_hosts
[root@backup ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.0.31 ##-i指定公鑰路徑 root@10.0.0.31's password: Now try logging into the machine, with "ssh '10.0.0.31'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
[root@backup ssh]# ssh 10.0.0.31 Last login: Wed Oct 18 00:58:52 2017 from 172.16.1.41 [root@nfs01 ~]#