远程访问及控制一切随心而控
远程访问及控制一切随心而控
- SSH远程管理
- 配置OpenSSH服务端
- sshd服务支持验证方式
- 公钥和密钥的关系
- SSH客户端程序的应用
- ssh远程登录
- scp远程复制
- 1. 下行复制
- 2. 上行复制
- sftp安全FTP
- 1.sftp下载
- 2.sftp上传
- 配置密钥对验证
- 1.在客户端创建密钥对
- 2.将公钥文件上传至服务器
- 3.在客户端验证
- 4.在客户端设置免密登录
- TCP Wrappers 访问控制
- TCP Wrappers 保护机制的实现方式
- TCP Wrappers 的访问策略
- 2.1服务程序列表
- 2.2客户端地址列表
- TCP Wrappers 机制的基本原则
- 总结
SSH远程管理
- SSH是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能
- 对通信双方的数据传输进行加密处理,其中包括用户登录时输入的用户口令,因此SSH协议具有很好的安全性
配置OpenSSH服务端
- sshd服务默认使用的是TCP的22端口
- sshd服务的默认配置文件为
/etc/ssh/sshd_config
vim /etc/ssh/sshd_config //配置ssh服务端
Port 22 //默认监听端口号为22
AddressFamily any
//监听地址为任意网卡,也可以指定Openssh服务器的具体ip
LoginGraceTime 2m //登录验证时间为2分钟
PermitRootLogin yes //禁止root用户登录
MaxAuthTries 6 //最大重试次数为 6
PermitEmptyPasswords no //禁止空密码用户登录
UseDNS no
//禁用DNS反向解析,以提高服务器的响应速度
- 只允许zhangsang、lisi、wangwu用户登录,且其中lisi用户仅能够从IP地址为192.168.80.80的主机远程登录
vim /etc/ssh/sshd_config //修改服务端配置文件AllowUsers zhangsan lisi@192.168.146.20 wangwu
//允许zhangsan,lisi,wang登录,并且lisi只能以146.20登录systemctl restart sshd //重启sshd服务
sshd服务支持验证方式
- 密码验证:
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解 - 密钥对验证:
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥公钥,私钥,将公钥文件放到服务器中指定的位置,远程登录时系统将使用公钥,私钥进行加密/解密关联验证。
可以增加安全性,且可以免交互登录。
公钥和密钥的关系
- 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密
- 不能根据一个密码来推算出另一个密钥
- 公钥对外公开,私钥只有私钥的持有人才知道
- 当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式
vim /etc/ssh/sshd_config //编辑服务端主配置文件
PasswordAuthentication yes //启用密码验证
PubkeyAuthentication yes //启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys //指定公钥库文件
SSH客户端程序的应用
ssh远程登录
ssh 【选项】 root@192.168.146.20 //使用root远程登录
- 当用户第一次登录ssh服务器时,须接收服务器发来的密钥验证,只有输入yes后才能继续验证,接收的密钥信息将保存到~/.ssh/known_host文件中。密码验证成功后,显示远程登录成功。
ssh 【选项】 root@192.168.146.20 -p 25 //指定端口登录
- -p:指定非默认的端口号,如果缺省则默认使用端口号为22。
vim /etc/ssh/sshd_config
systemctl
scp远程复制
1. 下行复制
scp root@192.168.146.20:~/文件名/opt/文件名...
//复制20主机的文件到自己的opt目录下
- 复制远程主机中的文件要使用绝对路径,:不能少
- 验证:
2. 上行复制
scp -r root@192.168.146.20:/var/log /opt/
//复制20主机var目录下的内容到本机opt目录下
- -r可以复制一整个目录到本主机的目录下
- 验证:
sftp安全FTP
1.sftp下载
使用sfpt从20主机下载文件sftp root@192.168.146.20
sftp >get abc.txt.zip
- get 为下载
- 验证:
2.sftp上传
使用sfpt从10主机上传文件到20主机sftp root@192.168.146.20
sftp >put 123.txt
- put 为上传
- 验证:
- quit为退出sftp模式
配置密钥对验证
1.在客户端创建密钥对
可以先创建一个用户
useradd lisi
echo "000000" | passwd --stdin lisi
su lisi实验我们直接使用的root用户,所以上面步骤省略ssh-keygen -t rsa //使用rsa算法生成密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
//指定私钥位置
Enter passphrase (empty for no passphrase):
Enter same passphrase again: //输入私钥密码Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
//私钥公钥存放位置
- 在客户端生成密钥
2.将公钥文件上传至服务器
方法一:
直接在服务器的.ssh目录中导入公钥文本
cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub root@192.168.146.20方法二:
先将客户端的公钥文件复制到服务端的opt目录下
scp id_rsa.pub root@192.168.146.20:/opt
在服务端创建.ssh目录,从镜像导入文件
mkdir .ssh
cat /opt/id_rsa.pub > ~/.ssh/authorized_keys
//将公钥文件导入到authorized_keys中
- 如果服务端没有.ssh目录,要先创建
- id_rsa为私钥文件,id_rsa.pub为公钥文件提供给服务器
3.在客户端验证
在客户端使用ssh远程登录验证ssh root@192.168.146.20
Enter passphrase for key '/root/.ssh/id_rsa': //输入私钥密码
4.在客户端设置免密登录
在客户端设置免密登录ssh-agent bash
ssh-add
Enter passphrase for /root/.ssh/id_rsa: //输入私钥密码
ssh root@192.168.146.20 //远程登录
TCP Wrappers 访问控制
- TCP Wrappers 像一个防护罩一样,保护着TCP服务程序,它代为监听TCP服务程序的端口,为其增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序
- 大多数 Linux 发行版,TCP Wrappers 是默认提供的功能
- 使用“rpm -q tcp_wrappers”安装
TCP Wrappers 保护机制的实现方式
直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd程序
由其他网络服务程序调用 libwrap.so.*链接库,不需要运行 tcpd 程序。此方式的应用更加广泛,也更有效率
使用 ldd 命令可以查看程序的 libwrap.so.*链接库
ldd $(which ssh)
TCP Wrappers 的访问策略
- TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制
- 对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略
2.1服务程序列表
- ALL:代表所有的服务
- 单个服务程序:如“vsftpd”
- 多个服务程序组成的列表:如“vsftpd,sshd”
2.2客户端地址列表
- ALL:代表任何客户端地址
- LOCAL:代表本机地址
- 多个地址以逗号分隔,允许使用通配符 “?” 和 “ * ”
- “ * ” 代表任意长度字符 / “?” 仅代表一个字符
- 网段地址:如 192.168.163. 或者 192.168.163.0/255.255.255.0
区域地址:如 “.benet.com”匹配 bdqn.com 域中的所有主机
TCP Wrappers 机制的基本原则
- 首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问
- 否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问
- 如果检查上述两个文件都找不到相匹配的策略,则允许访问
允许所有,拒绝个别
只需在/etc/hosts.deny文件中添加相应的拒绝策略允许个别,拒绝所有
除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置“ALL:ALL”的拒绝策略
- 验证
从IP地址为12.0.0.1的主机或者位于192.168.146.0/24网段的主机访问sshd服务,其他地址被拒绝
vi /etc/hosts.allow
sshd:12.0.0.1,192.146.100.*vi /etc/hosts.deny
sshd:ALL
总结
- 远程登录默认端口为22,若要指定端口用-p+端口号
- scp +远程登录的主机名为上行复制 scp -r +远程登录主机名为下行复制
- sftp上传为put,下载为get
- 密钥验证要注意如果服务端没有.ssh目录要先创建
远程访问及控制一切随心而控相关推荐
- 【鬼网络】之远程访问及控制ssh
远程访问及控制ssh 一.SSH远程管理 1.定义 2.优点 3.客户端与服务端 4.SSH服务的开启.端口号和配置文件 二.配置 OpenSSH 服务端 1.配置文件常用设置选项 2.AllowUs ...
- Linux远程访问及控制(SSH、TCP Wrappers 访问控制)
Linux远程访问及控制 一.SSH远程管理 1.SSH定义 2.SSH数据传输优点 3.SSH客户端和服务端 二.OpenSSH 1.配置OpenSSH 服务端配置 2.scp远程复制 3.sftp ...
- 远程访问及控制(详解)——SSH远程管理及TCP Wrappers 访问控制
远程访问及控制(详解)--SSH远程管理及TCP Wrappers 访问控制 一.SSH远程管理 1.定义 2.优点 3.客户端与服务端 4.SSH服务的开启.端口号和配置文件 二.配置 OpenSS ...
- SSH远程访问以及控制
SSH远程访问以及控制 一.SSH远程管理基本简介 二.OpenSSH服务端相关配置 三.SSH客户端程序的登录以及使用 -登录验证方式 -SSH客户端程序的使用 (1)ssh远程登录: (2)scp ...
- centos 7.6 ——远程访问及控制——(ssh密钥登录、ssh客户端、TCP Wrappers)
远程访问及控制 文章目录 远程访问及控制 一.ssh基本配置 1. 允许root登录 2. 禁止root远程登录 **注意 3. DenyUsers 黑名单的使用 4. AllowUsers 白名单使 ...
- Linux 远程访问及控制
Linux 远程访问及控制 文章目录 Linux 远程访问及控制 引言: 一.SSH远程管理 1.SSH是什么: 2.SSH客户端与OpenSSH服务端 3.SSH服务配置 4.SSHD服务端的功能 ...
- Linux中的远程访问及控制
文章目录 Linux中的远程访问及控制 SSH远程管理 OpenSSH服务器 ssh原理 公钥传输原理 ssh加密通讯原理 对称加密 非对称加密 配置OpenSSH服务端 登陆 服务端配置 ssh客户 ...
- 控制与计算机工程学院 - 控计学院,控制与计算机工程学院测控1502班召开诚信教育主题班会...
为响应学校"诚信教育月"活动的号召,5月17日下午,控制与计算机工程学院测控1502班召开了诚信教育主题班会.学生处副处长.学生资助中心主任卜春梅老师,控计学院党委副书记谢桂庆老师 ...
- 技术漫谈 | 远程访问和控制云端K8S服务器的方法
对于部署在云端的K8S容器编排系统,可以先通过SSH远程登录到K8S所在主机,然后运行kubectl命令工具来控制K8S服务系统.然而,先SSH登录才能远程访问的二阶段方式,对于使用Linux桌面或者 ...
最新文章
- 如何获得Oracle系统性能统计? Oracle大型数据库系统在AIXUNIX上的实战详解 集中讨论 14...
- [shell] 让你提升命令行效率的 Bash 快捷键 [完整版]
- Linux 打通ssh无密码登录
- 快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)
- SQL实战篇:SQL优化问题
- java list 取几个字段组装成map_24道Java各类常见问题整理
- 为什么你应该尝试@reach/router
- MariaDB强势席卷DB-Engines榜单后续,与阿里云达成全球独家战略合作
- 面向对象程序设计中“超类”和“子类”概念的来历
- 调用未知DLL中的导出函数[转]
- springboot的web练手项目,适合新手,以及初级程序员项目实战,也适合老手进行二次开发的众多项目
- pmp华为内部资料,成功的项目管理是怎样的?
- 在spyder中设置缩进对齐线提示
- 韩国服务器性能排行榜,2019韩国云服务器排名
- Easyrecovery激活码生成器分享
- 电路设计之--钽电容选取
- 【CNC——第6篇】PMAC上位机编程基础篇(上位机和下位机如何通信)
- CISSP-D8-软件开发安全
- Python 各种测试框架简介(三):nose
- 英语作文考前必背10大类万能句型
热门文章
- php编辑框禁止输入,如何设置表单的input文本框不可编辑
- Movavi Screen Recorder 22 Mac(屏幕录像截图软件)
- Flutter学习之路 AspectRatio 组件
- 基础shell脚本练习
- selenium爬取淘宝商品基础数据以及商品详情(茶叶数据)
- 联发科MT6779(Helio P90)基带处理器介绍
- (附源码)ssm基于javaweb的医疗健康知识管理系统设计与实现 毕业设计131903
- 植物大战 快速 排序——纯C
- 社区参加指南来了!开源社诚挚邀请您参加开源之夏!
- Ubuntu 12.04 安装之后的各种问题