Linux网络服务:SSH远程访问及控制1

目录

一、理论

1.SSH远程管理

2.配置OpenSSH服务器

3.使用SSH客户端程序

4.bind软件

5.远程登录限制

二、实验

1.scp远程复制

2.sftp远程传输

3.用户登录限制


一、理论

1.SSH远程管理

(1)SSH协议

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。

ssh协议是基于C/S机构的安全通道协议,通信数据进行加密处理,用于远程管理。

ssh的服务名称为sshd。默认端口号:tcp的22端口

(2)SSH组成结构:
      ① 传输层协议:ssh-trans
服务器认证,保密性以及完整性,压缩功能。一般运行在tcp/ip的连接上,也可能用于其他可靠的数据流上。ssh-trans : 提供加密技术,密码主机认证,数据完整性保护以及数据压缩
密码主机认证:基于主机。不能进行用户认证
     ② 用户认证协议:ssh-userauth
向服务器提供客户端用户鉴别的功能运行在ssh-trans之上。开始执行用户认证,从低层协议接受会话标识符,认证私钥的所有权。
root→认证用户是否存在,在服务端有没有这个用户→提示输入用户密码→认证密码是否和用户相符合→登录成功
     ③ 连接协议 ssh-connect
多个加密隧道分成逻辑通道。它运行在用户认证之上,提供了交互式的登录会话,远程命令的执行、转发tcp/ip的连接。
连接协议→提供交互式登录→用户认证→认证用户是否存在,密码和用户是否匹配→传输协议→建立连接(数据加密,数据压缩)

(3)SSH原理

使用公钥传输:

      ① 客户端请求连接,服务端返回一个公钥(专门给别人用的)和一个会话ID给客户端

      ② 客户端把服务端的公钥和自己的公钥加密发送给客户端

      ③ 客户端和服务端都有对方的公钥和自己的公钥私钥

2.配置OpenSSH服务器

(1)SSH服务及配置文件

OpenSSH服务器由openssh、openssh-server等软件包提供(默认已安装),并已将sshd添加为标准的系统服务。

服务端配置文件:/etc/ssh/sshd_config

客户端配置文件(一般不修改):/etc/ssh/ssh_config

(2)服务监听选项

sshd服务使用地默认端口号为22,必要时建议修改此端口号,并指定监听服务地具体IP地址,以提高在网络中地隐蔽性。

Port为监听端口,ListenAddress为监听地址。

(3)用户登录控制

sshd服务默认允许root用户登录,当在Internet使用时是不安全的。普遍的做法是:先以普通用户远程登入,进入安全Shell环境后,根据实际需要使用su命令切换为root用户。

LoginGraceTime 为登录验证时间,PermitRootLogin yes为允许root用户登录,MaxAuthTries为最大重试次数。

禁止root用户登录

   ①  允许哪些用户登录

AllowUsers 用户1 用户2 用户3
   ②  拒绝哪些用户登录
DenyUsers 用户

(4)登录验证方式

     ①  密码验证

     ②  密钥对验证

(5)服务端配置文件解析

命令功能
Port 22

默认使用22端口

AddressFamily any

默认任何地址可访问

ListenAddress 0.0.0.0

监听所有地址的ipv4地址

ListenAddress ::监听的ipv6地址
Logging   

日志模块内容

SyslogFacility AUTHPRIV

默认日志位置输出到rsyslog服务的AUTHPRIV中,/var/log/message下

Authentication:

身份验证模块

LoginGraceTime 2m默认验证用户登录失败后等待时间为2秒
PermitRootLogin yes

默认允许使用root账户登录

MaxAuthTries 6默认最多可以尝试连接失败6次
MaxSessions 10

默认最大可连接10个会话

PubkeyAuthentication yes

基于key验证默认为开启

AllowUsers user1,user2@ip

白名单允许登录用户user1,用户为user2的且限制ip

3.使用SSH客户端程序

(1)ssh远程登录

通过ssh命令可以远程登录sshd服务,为用户提供一个安全地Shell环境,以便对服务器进行管理和服务。

使用格式:ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port 。

(2)scp远程复制

scp英文全称为security copy,将本机文件直接传输到对面服务器。通过scp命令可以利用SSH安全连接与远程主机相互复制文件。

      ① 使用格式:scp  本地文件    对面ip地址:对面接收路径

      ② 远程复制文件命令:scp root@192.168.204.200:/opt/123.txt /opt

      ③ 远程复制文件夹命令:scp -rP 22 root@192.168.204.200:/opt/wenjian /opt

(3)sftp安全FTP

 sftp英文全称为 SSH File Transfer Protocol ,上传或下载文件。通过sftp命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与FTP类似登录过程和交互式环境。

      ① 使用格式:sftp      对面ip (进去后在对面的家目录)。

      ② 可以使用get下载,put上传到对面机器的家目录。

       远程控制命令:sftp -P 22 root@192.168.204.200

(4)图形工具Xshell

图形工具Xshell是Windows下一款功能非常强大的安全终端模拟软件,支持Telnet、SSH、SFTP等协议,可以方便地对Linux主机进行远程管理。

4.bind软件

bind(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球使用最广泛、最安全且最高效的域名解析服务程序。

bind是开源软件,用于内网划分dns,外网地址划分,注册,是要钱的,内网既不要花钱,也不用注册,bind方便内部进行访问和使用。

二、实验

1.scp远程复制

(1)搭建环境

服务器 192.168.204.200,客户端 192.168.204.50

(2)远程复制文件

命令:scp root@192.168.204.200:/opt/123.txt /opt

(3)远程复制文件夹

命令:scp -rP 22 root@192.168.204.200:/opt/wenjian /opt

2.sftp远程传输

(1)搭建环境

主机一 192.168.204.50   远程  主机二192.168.204.200

(2)准备文件

主机一touch命令新建文档:777.txt

主机二touch命令新建文档:888.txt

(3)主机一远程主机二进行下载与上传

主机一 get命令,显示主机一新增888.txt

主机一 put命令,主机二显示新增777.txt

3.用户登录限制

(1)搭建环境

主机一 192.168.204.50   远程  主机二192.168.204.200

控制本机账户远程登录权限用户登录限制

(2)配置文件

主机二配置远程登录

允许通过本机mao远程登录,禁止通过本机he远程登录

(3)新增账户mao远程登录成功

主机一 192.168.204.50 远程登录主机二192.168.204.200

使用主机二mao用户登录成功

exit 退出登录

(4)新增账户he登录失败

使用主机二he用户登录被拒绝

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值