Linux三阶段三之五:SSH远程管理服务
五、SSH远程管理服务
(一)远程管理服务知识介绍
1) SSH远程登录服务介绍说明
SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定; 在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。 确保了传递的数据安全。 SSH是专为远程登录会话和其他网络服务提供的安全性协议。 利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中, 绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
2) SSH远程登录服务功能作用
a 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务; b 另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。
3) SSH远程登录服务排错思路
01. 检查链路是否通畅---ping(icmp)/tracert/traceroute 02. 检查链路是否阻断---将防火墙功能关闭 03. 检查服务是否开启---ss/netstat -lntup(服务端检查) /telnet/nmap/nc(客户端检查)
(二)Telnet远程登录服务功能作用
1、SSH远程登录服务特点说明
01、SSH服务端口信息为22
02、SSH服务采用密文方式传输数据
03、SSH服务默认支持root用户进行远程登录
2、Telnet远程登录服务功能作用
01、telnet服务端口信息为23
02、telnet服务采用明文方式传输数据
03、telnet服务默认不支持root用户进行远程登录
(三)远程管理服务概念详解
1)SSH远程管理服务加密技术
ssh连接登录过程 ①. ssh客户端发出连接请求 >/root/.ssh/known_hosts ②. ssh服务端会发出确认信息,询问客户端你是否真的要连接我 ③. ssh客户端输入完成yes,会等到一个公钥信息 cat /root/.ssh/known_hosts ④. ssh服务端将公钥信息发送给ssh客户端 ⑤. ssh客户端利用密码进行登录 加密技术分为v1和v2两个版本 sshv1版本不会经常更换锁头和钥匙,因此会有安全隐患 sshv2版本会经常更换锁头和钥匙,因此提高了远程连接安全性
2)SSH远程管理服务认证类型
基于密钥方式实现远程登录 ①. ssh管理服务器上创建密钥对信息(公钥 私钥) ②. ssh管理服务器上将公钥发送给被管理服务器 ③. ssh管理服务器向被管理服务器发送连接请求 ④. ssh被管理服务器向管理服务器发送公钥质询 ⑤. ssh管理服务器处理公钥质询请求,将公钥质询结果发送给被管理主机 ⑥. ssh被管理服务器接收公钥质询响应信息,从而确认认证成功 ⑦. ssh管理服务端可以和被管理服务端建立基于密钥连接登录
(四)基于密钥登录方式部署流程
第一个里程:在管理主机上创建密钥对信息
ssh-keygen -t dsa <-- 创建密钥对命令 -t dsa表示指定密钥对加密类型 Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): <-- 确认私钥文件所保存的路径 /root/.ssh/id_dsa already exists. Overwrite (y/n)? y <-- 如果已经存在了密钥对信息,是否进行覆盖 Enter passphrase (empty for no passphrase): <-- 确认是否给私钥设置密码信息(一般为空) Enter same passphrase again: Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: 46:c8:21:b9:99:6e:0c:59:39:66:38:7a:97:29:51:76 The key‘s randomart image is: +--[ DSA 1024]----+ | o+oE | | +.B+ o | | . B Bo . | |. = B . | | . * S | | + . | | . | | | | | +-----------------+
第二个里程:将管理主机上公钥信息发送给被管理主机
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31 ‘s password: Now try logging into the machine, with "ssh ‘172.16.1.31‘", and check in: .ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
第三个里程:进行远程管理测试(基于密钥的方式进行远程管理)
ssh 172.16.1.31 <-- 可以不用输入密码信息,就能登陆成功 ssh 172.16.1.31 uptime <-- 可以不用登陆到远程主机,就可以直接查看远程主机信息
(五)SSH服务端配置文件信息说明(/etc/ssh/sshd_config)
Port 52113 <- 修改ssh服务端口号信息 ListenAddress 0.0.0.0 <- 主要作用提升网络连接安全性 PS:监听地址只能配置为服务器网卡上拥有的地址 PermitRootLogin no <- 是否允许root用户远程登录 PermitEmptyPasswords no <- 是否允许空密码 UseDNS no <- 是否进行DNS反向解析(提升ssh远程连接效率) GSSAPIAuthentication no <- 是否进行远程GSSAPI认证(提升ssh远程连接效率)
(六)sftp常用操作命令总结
bye Quit sftp <-- 表示退出sftp传输模式 cd path Change remote directory to ‘path‘ <-- 改变远程目录信息 pwd Display remote working directory <-- 显示远程主机当前目录信息 lcd path Change local directory to ‘path‘ <-- 改变本地目录路径信息 lpwd Print local working directory <-- 输出本地目录路径信息 get [-P] remote-path [local-path] Download file <-- 下载文件命令 put [-P] local-path [remote-path] <-- 上传文件命令 Upload file