| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 4.Linux网络远程访问及控制ssh -> 正文阅读 |
|
[系统运维]4.Linux网络远程访问及控制ssh |
本章结构 SSH远程管理 配置OpenSSH服务端 使用SSH客户端程序 密钥对验证的SSH体系 TCP Wrappers访问控制 TCP Wrappers概述 TCP Wrappers访问策略 OpenSSH服务器 SSH (Secure Shell)协议 是一种安全通道协议 对通信数据进行了加密处理,用于远程管理 OpenSSH 服务名称:sshd 服务端主程序:/usr/sbin/sshd 服务端配置文件:/etclssh/sshd_config SSH服务 SSH是什么? SSH (Secure shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。 SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH为建立在应用层和传输层基础上的 安全协议。 网络 SSH客户端<------------------>SSH服务端 数据传输是加密的,可以防止信息泄漏 数据传输是压缩的,可町以提高传输速度 SSH客户端: putty、xshell、CRT、Mobaxterm、Finalshell SSH服务端:OpensSH OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux操作系统。 Centos 7系统默认已安装openssh相关软件包,并将sshd 服务添加为开机自启动。执行"systemctl start sshd"命令即可启动sshd服务 sshd 服务默认使用的是TCP的22端口,安全协议版本sshd2,出来2之外还有1(有漏洞) sshd服务的默认配置文件是/etc/ ssh/ sshd_config ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。 作用:SSHD 服务使用SSH协议可以用来进行远程控制,或在计算机之间传送文件。相比较之前用Telnet方式来传输文件要安全很多,因为Telnet 使用明文传输,SSH是加密传输。 服务名称: sshd 服务端主程序: /usr/ sbin/ sshd 服务端配置文件:letc/ ssh/ sshd_config 远程管理linux系统基本上都要使用到ssh,原因很简单: telnet、FTP等传输方式是?以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险。SSH (Secure shell)目前较可靠,是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。 OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/sshd_config。 ssh_config:为客户端配置文件,设置与客户端相关的应用可通过此文件实现 sshd_config:为服务器端配置文件,设置与服务端相关的应用可通过此文件实现。 OpenSSH服务器 SSH (Secure Shell)协议 是一种安全通道协议 对通信数据进行了加密处理,用于远程管理 OpensSH 服务名称: sshd 服务端主程序:/usrlsbin/sshd 服务端配置文件:etclssh/sshd_config 服务监听选项 端口号、协议版本、监听IP地址 禁用反向解析 ? 用户登录控制 禁用root用户、空密码用户 限制登录验证时间、重试次数 AllowUsers、DenyUsers ? OpenSSH服务器 登录验证方式 密码验证:核对用户名、密码是否匹配 密钥对验证:核对客户的私钥、服务端公钥是否匹配 ? 登录 方法一: ssh [远程主机用户名] @[远程服务器主机名或IP地址] -p port 当在 Linux主机上远程连接另一台 Linux主机时,如当前所登录的用户是 root的话,当连接另一台主机时也是用root用户登录时,可以直接使用ssh IP,端口默认即可,如果端口不是默认的情况下,需要使用-p指定端口。 RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。 登录方法二 ssh -l [远程主机用户名][远程服务器主机名或Ip地址] -p port -l : -l 选项,指定登录名称。 -p: -p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录) 注:第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes后登录,这时系统会将远程服务器信息写入用户主目录下的$HONE/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了 安全级别的事情 对未经过安全认证的RPM包进行安全检查 Linux用户方面的加固 设定密码策略 20位 对用户密码强度的设定 对用户的登录次数进行限制 禁止ROOT用户远程登录 设置历史命令保存条数和账户超时时间 设置只有指定用户组才能使用su命令切 换到root用户 对Linux账户进行管理 对重要的文件进行锁定,即使RooT用户也无法删除 建立日志服务器曰 使用SSH客户端程序 ? sshd 服务支持两种验证方式 1.密码验正:对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱。 位 密码复杂性 端口 做好安全 ⒉.密钥对验证:要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在 shell 中被广泛使用。 当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密钥对验证方式:若没有特殊要求,则两种方式都可启用 免密登录 ssh-agent bash #将公钥添加管理在客户端操作 ssh-add ? 总结 简单的说,SSH是一种网络协议,主要用于客户端与远程主机的安全链接和交互。安全链接的过程是: 1.远程主机端收到客户端的登陆请求时先发送自己的公钥给客户端 2.客户端用拿到的公钥加密用户名和密码,然后发送给远程主机 3.远程主机用自己的密钥解密收到的用户名和密码,然后校验用户名和密码是否正确,如果正确则登陆成功。 客户端免密登陆远程主机 如果只是通过第一步,以后的每次登陆都需要输入登陆密码,非常麻烦。幸运的是sSH提供了公钥登陆(免密登陆) 公钥登录的流程如下: 1.客户端在自己本地生成一对公钥密钥文件,然后将公钥存储在远程主机上 2.客户端登陆时,远程主机会随机生成一串字符串发送给客户端 3.客户端用自己的密钥将收到的字符串加密,并返回给远程主机 4.远程主机利用公钥解密收到的加密字符串,如果解密成功并且与发送的一致则直接免密登陆 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 6:44:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |