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

SSH客户端 Putty、Xshell、CRT
SSH服务端 OpenSSH
OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。CentOS 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动。
sshconfig和sshd__config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件
1.2、配置OpenSSH服务端






允许用户和禁止用户不要同时使用,会产生冲突


二、sshd服务支持两种验证方式
2.1、密码验证
对服务器中本地系统用户的登录名称、密码进行验证、渐变,但可能会被暴力破解
2.2、使用SSH客户端程序
ssh远程登录
ssh [选项] 用户名@IP地址
当用户第一次登录SSH服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入“yes”)后才能继续验证。接收的密钥信息将保存到~./ssh/known_hosts文件中。密码验证成功以后,即可登录目标服务器的命令行环境中了。
常用选项-p 指定非默认的端口号,缺省时默认使用22端口
scp远程复制
下行复制
scp 用户名@目标IP地址:目标文件 本机存放点 将远程主机中的文件复制到本机

上行复制
scp -r 本机文件 用户名@目标IP:目标文件

sftp安全FTP
由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。
sftp> ls
sftp> get 文件名 #下载文件
sftp> put 文件名 #上传文件
sftp> exit #退出
2.3、秘钥对验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。



操作步骤
通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的“-t”选项用于指定算法类型)。
| ①在客户机创建密钥对 |

| ②将公钥文件上传至服务器 |
两种方法
scp ~/.ssh/id_rsa.pub root@目标IP:目标地址
或
cd ~/.ssh/
ssh-copy-id -i id_rsa.pub root@目标地址

| ③在服务器中查看公钥文本 |

| ④在客户端使用秘钥对验证 |

| ⑤在客户机设置ssh代理功能,实现免交互登录 |
ssh-agent bash
ssh-add
Enter passphrass for /root/.ssh/id_rsa: #输入私钥的密码
三、TCP Wrappers访问控制
3.1、保护原理

TCP Wrappers 将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。
3.2、保护机制的两种实现方式
直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd程序。
由其他网络服务程序调用 libwrap.so.* 链接库,不需要运行 tcpd 程序。此方式的应用更加广泛,也更有效率。
查看程序的 libwrap.so.* 链接库——ldd命令
ldd [参数] [文件]
也可以两条命令一起使用:ldd $(which sshd)
3.3、TCP Wrappers 的访问策略
TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
对应的两个策略文件为 /etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。
| 格式 |
<服务程序列表>:<客户端地址列表>
| 服务程序列表 |
ALL:代表所有服务器
单个服务器:如“vsftpd”。
多个服务程序组成的列表:如“vsftpd,sshd”。
| 客户端地址列表 |
ALL:代表任何客户端地址
LOCAL:代表本机地址
多个地址以逗号分隔,允许使用通配符“*”和“?”,前者代表任意长度字符,后者仅代表一个字符
Linux远程访问控制的更多相关文章
- Linux --远程访问控制
1.SSH服务端 修改配置文件 vi /etc/ssh/sshd_config 监听选项 port 22 //监听端口地址 ListenAddress 192.168.1.50 //监听地址为本机地址 ...
- (转)详解Linux中SSH远程访问控制
详解Linux中SSH远程访问控制 原文:http://blog.51cto.com/dengqi/1260038 SSH:是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能(使用TC ...
- Linux 远程复制文件
Linux 远程复制文件 如果想把机器A上面的dir目录下面的所有文件复制到机器B的dir目录下,我们可以使用nc命令来完成 在机器A的dir目录下面执行: tar -czf - * | nc -l ...
- linux 远程桌面连接
我们知道在windows下面我们可以用远程桌面连接来控制其它电脑, 但linux 远程桌面连接?不过在说怎样连接之前还是要先明确一个概念,为什么我标题没有用linux中的远程桌面连接呢, 这是因为Li ...
- Linux 远程登录
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这事我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ssh服务实现的远程登录功 ...
- linux 远程管理
启动linuxssh 服务: /etc/init.d/ssh 启动网络服务: service network restart linux远程登录配置过程: 首先在ubuntu下安装openssh-se ...
- [20150513]Linux远程登陆管理以及Vim的学习
Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...
- Linux 远程和本地的一些解决方案
有的小伙伴想Linux 远程登录 两台机器同时root登录,其实可以同时多个用户的. Linux是多用户的多任务系统,可以同时多个用户登录到系统,也可以一个用户通过不同终端登录到一个系统执行不同的操 ...
- 如何用linux远程登录windows计算机
大家可能试过用windows远程登录另一个windows pc机,今天大家将会学到如何用 linux远程登录你的windows系统. 首先大家要做到得救是将自己linux和windows操作机的IP地 ...
随机推荐
- centos 关闭SELINUX并重启系统
关闭SELINUX [root@bogon ~]# vim /etc/sysconfig/selinux ... SELINUX=disabled ... 执行过程: 重启系统 [root@bogo ...
- 『无为则无心』Python函数 — 27、Python函数的返回值
目录 1.返回值概念 2.return关键字的作用 3.返回值可以返回的数据类型 4.函数如何返回多个值 5.fn5 和 fn5()的区别 6.总结: 1.返回值概念 例如:我们去超市购物,比如买饮料 ...
- ExtJs4学习(九)读写器reader、writer
Ext.data.reader.Json JSON Reader是用一个代理来读取服务端响应的JSON格式的返回值. 一般用于将结果加载成一个存储集-例如我们将创建一些如下东西: Ext.define ...
- 6-x1 read命令:从键盘读取数据
1.read的用法 read从 STDIN 读取一行数据并将其赋给一个变量,如果没有进行重定向,默认就是从键盘读取用户输入的数据:如果进行了重定向,那么可以从文件中读取数据. read 命令的用法为: ...
- mongodb,redis,mysql的区别和具体应用场景(转)
一.MySQL 关系型数据库. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点就 ...
- 入门Kubernetes-minikube本地k8s环境
前言: 在上一篇 结尾中使用到了minikube方式来做k8s本地环境来学习k8s. 那么这篇先了解下minikube及使用 一.Minikube 简介 minikube 在 macOS.Linux ...
- 题解 guP2421 【[NOI2002]荒岛野人】
本题珂以转换成一个式子 即求Ci + Pi × x ≡ Cj + Pj × x (mod M) 的最小答案是否大于寿命最小值 以人数为最小值开始枚举山洞数,用扩展欧几里得计算最优答案是否大于寿命 若不 ...
- WIN10 GMSSL编译
从git上拉取GMSSL代码 从http://gmssl.org/上可以拉取,或者直接从git上https://github.com/guanzhi/GmSSL拉也行. 我是在git上下的,文件为gm ...
- Scala学习——函数高级操作
scala函数高级操作 一.字符串高级操作 多行字符串和插值 package top.ruandb.scala.Course06 object StringApp { def main(args: A ...
- 单细胞分析实录(18): 基于CellPhoneDB的细胞通讯分析及可视化 (上篇)
细胞通讯分析可以给我们一些细胞类群之间相互调控/交流的信息,这种细胞之间的调控主要是通过受配体结合,传递信号来实现的.不同的分化.疾病过程,可能存在特异的细胞通讯关系,因此阐明这些通讯关系至关重要. ...