远程管理服务
2.1 什么是ssh
SSH是Secure Shell Protocol的简写,
在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。
确保了传递的数据安全。
2.2 ssh远程服务主要功能
a 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;
? b 一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。
2.3 ssh远程连接不上?
回想屌丝去×××(3个步骤排查)
2.4 远程连接方式?
ssh: 密文的连接方式 监听的端口号 22
telnet:明文的连接方式 监听的端口号 23
2.5 SSH知识要点总结
? a SSH是安全的加密协议,用于远程连接linux服务器。
? b SSH默认端口是22,安全协议版本SSHv2,除了2之外还有SSHv1(有漏洞)。
? c SSH服务端主要包含两个服务功能SSH远程连接和SFTP服务。
? d Linux SSH客户端包含ssh远程连接命令,以及远程拷贝scp命令等。
2.6 yum安装软件时提示以下错误
No package ssh available.?
1) 从已有软件服务器上,或去ssh命令服务大礼包
[[email protected] ~]# rpm -qf which ssh
openssh-clients-5.3p1-122.el6.x86_64
2)通过yum命令参数,获取一个命令属于哪个大礼包
[[email protected] ~]# yum provides which ssh
2.7 openssh软件分析(与数据加密相关的软件--openssl)
[[email protected] ~]# rpm -ql openssh-clients
/etc/ssh/ssh_config --- ssh服务客户端配置文件
/usr/bin/scp --- 远程拷贝命令
/usr/bin/sftp --- 远程文件传输命令
/usr/bin/slogin --- 远程登录命令
/usr/bin/ssh --- 远程连接登录命令
/usr/bin/ssh-copy-id --- 远程分发公钥命令
[[email protected] ~]# rpm -ql openssh-server
/etc/rc.d/init.d/sshd --- ssh服务启动脚本文件
/etc/ssh/sshd_config --- ssh服务配置文件
/usr/sbin/sshd --- ssh服务进程启动命令
2.8 ssh远程连接加密原理
1)ssh客户端向服务端发出连接请求
2)ssh服务端接收到请求,向客户端发出确认
3)ssh客户端进行确认,ssh服务端向客户端发出公钥(锁头)
4)ssh客户端利用公钥加密数据,发送给服务端,服务端利用私钥解密数据信息
2.9 ssh服务远程认证类型(远程登录方式)
1)基于口令的登录方式
2)基于秘钥的登录方式
a 管理端创建秘钥対(创建私钥 公钥);情侣创建信物
b 管理端将公钥发送给被管理端;一个信物给对方
c 管理再次请求与被管理建立连接时,被管理会发出公钥质询;你是大明湖畔的容嬷嬷
d 管理处理质询请求,管理端和被管理建立免密码的连接登录方式;就和容嬷嬷快乐在一起了
2.10 ssh服务启动操作
/etc/init.d/sshd start
2.11 ssh服务配置文件
vim /etc/ssh/sshd_config
说明:第一次编辑时,里面所有注释信息都是默认配置
13 Port 22 --- 表示可以修改ssh服务默认端口号信息
15 ListenAddress 10.0.0.41 --- 表示只能监听本地网卡上有的IP地址
PermitEmptyPasswords --- 是否允许空密码登录,一定禁止
PermitRootLogin --- 是否允许root用户远程登录,企业环境禁止
UseDNS --- 是否进行dns反向解析,影响ssh连接效率参数
GSSAPIAuthentication no --- 是否进行认证,影响ssh连接效率参数
2.12 ssh防止入侵方案
SSH入侵网友案例:http://phenixikki.blog.51cto.com/7572938/1546669
如何防止SSH登录入侵小结:
1、用密钥登录,不用密码登陆(课后作业)。
2、牤牛阵法:解决SSH安全问题
a.防火墙封闭SSH,指定源IP限制(局域网、信任公网)
b.开启SSH只监听本地内网IP(ListenAddress 172.16.1.61)。
3、尽量不给服务器外网IP
4、最小化(软件安装-授权)
5、给系统的重要文件或命令做一个指纹
6、给他锁上 chattr +i +a
2.13 ssh服务相关命令用法
2.13.1 ssh命令使用方法
ssh –p52113 [email protected] [命令]
ssh --- 远程连接命令;
-p(小写)接端口 --- 表示利用指定端口进行远程连接,默认22端口时可以省略-p22;
“@”前面为用户名 --- 表示以什么用户身份连接到远程主机上,如果用当前用户连接,可以不指定用户。
“@”后面为要连接的服务器的IP
说明:更多用法,请man ssh
2.13.2 scp命令使用方法
scp -P22 -rp /tmp/oldboy [email protected]:/tmp
-P(大写,注意和ssh命令的不同)接端口,默认22端口时可以省略-P22;
-r 递归,表示拷贝目录;
-p 表示在拷贝前后保持文件或目录属性;
-l limit 限制速度。
/tmp/oldboy为本地的目录。“@”前为用户名,“@”后为要连接的服务器的IP。
IP后的:/tmp目录,为远端的目标目录。
2.13.3 sftp使用方法
sftp -oPort=52113 [email protected]
sftp -- 登录sftp模式命令
-oPort -- 指定ssh服务连接端口信息
oldboy -- 指定以什么身份进行登录
10.0.0.142 -- 指定登录sftp服务器ip地址
sftp> -- 显示sftp提示符,表示已经进入到sftp模式中
sftp> help -- 查看sftp模式中可以操作的命令
sftp> cd /backup --- 进入到远程服务器的相应目录中
sftp> pwd --- 显示远程的工作目录
sftp> get 1.txt --- 进行远程主机文件下载,默认文件下载到登录前目录中
sftp> mget xxx --- 进行远程主机文件批量下载(sftp服务没有这个命令)
sftp> lcd /tmp --- 进入到本地服务器的相应目录中
sftp> lpwd --- 显示本地的工作目录
sftp> put test.sh --- 进行本地数据文件上传
sftp> mput xxx --- 进行本地数据文件批量上传
2.14 企业面试题
2.15 监听的参数说明
原文地址:http://blog.51cto.com/13547156/2060807