第十八章 SSH服务
一、SSH服务基础
1、简介
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台-包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
2、SSH服务提供的功能
(1)提供类似telnet的远程联机服务器的服务,即SSH服务。
(2)提供类似FTP服务的sftp-server,借助SSH协议来传输数据,提供更安全的SFTP服务。
(3)提供远程安全拷贝命令SCP。
3、SSH服务结构
(1)服务端:OpenSSH和OpenSSL
(2)客户端:
Linux:SSH
Windows:SecureCRT、Putty、xshell
(3)守护进程:sshd
(4)配置文件:/etc/ssh/sshd_config
a、查看系统支持的协议
grep Protocol /etc/ssh/sshd_config
CentOS5.x: Protocol 2, 1
CentOS6.x: Protocol 2
b、查看临时公钥ServerKeyBits长度
grep ServerKeyBits /etc/ssh/sshd_config
#ServerKeyBits 1024 (CentOS5.x为 768)
c、说明:sshd_config是配置服务端,ssh_config是配置客户端
vi /etc/ssh/sshd_config
:set nu #vi的功能,显示行号
Port 28888 #13行
PermitRootLogin no #42行,禁止root用户ssh远程登录
PermitEmptyPasswords no #65行,禁止空密码登录
GSSAPIAuthentication no #为防止GSSAPI导致SSH连接变慢
UseDNS no #122行,禁止使用DNS
(5)协议版本:
a、1.x和2.x
b、2.x的客户端不能连接到1.x的服务程序上。
4、ssh服务认证类型
(1)基于口令的安全验证
a、连接格式:
(i)ssh -p端口号 用户名@IP #默认22可不写
ssh -p28888 root@192.168.58.238 #需输入192.168.58.238的密码
(ii)ssh -p端口号 用户名@IPcommand #此方式执行命令后,会退回当前机器
ssh root@192.168.58.238 /sbin/ifconfig #由于环境变量不识别,所以需全路径
b、查看家目录下的.ssh中是否存在know_hosts文件
ll ~/.ssh/know*
-rw-r--r-- 1 root root 394 Feb 14 19:47 known_hosts
c、查看know_hosts文件内容
cat known_hosts
192.168.58.238 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvzhqkn7q/+dqo+LVbFCKsnUYG9WQudjue
Yl8NY3neiDaxxnuf84faY73NEuF0WtOR0c5N14aPQQhMbIPinFbRuqFbZBQspxbR+nd/j/df43U2P+xCIk3rxC7+7SpHdau/5a/yUtsAYKMUmp+5Jx4EWPasy1Ww+OvwmMBOXFFE5Mf1oNg/Z+lQZlM7n9bQn2iEXu5BVjaY8Z1mo7xRM5ClF/nZ3pa8S+HpQRQ/gXRhvYLp/DRSvbiz2Hc/zkXRcwd+uhOZXsmVagOIgIJ3qcsbQHIZfFBU9jaiDIHqGc4LmPxRlr/RhaH3vdULjpbjAVE1EMPDX4/i1GncLuLtT/h8Q==