欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux三阶段之五:SSH远程管理服务

程序员文章站 2022-05-06 23:05:26
五、SSH远程管理服务 (一)远程管理服务知识介绍 1) SSH远程登录服务介绍说明 2) SSH远程登录服务功能作用 3) SSH远程登录服务排错思路 (二)Telnet远程登录服务功能作用 1、SSH远程登录服务特点说明 01、SSH服务端口信息为22 02、SSH服务采用密文方式传输数据 03 ......

五、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 root@m01
    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
root@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