Linux网络服务:远程管理之SSH(原理加实操,不要太详细!) |
您所在的位置:网站首页 › ssh命令是什么缩写 › Linux网络服务:远程管理之SSH(原理加实操,不要太详细!) |
文章目录
一、什么是SSH?二、SSH远程管理----服务端2.1.SSH协议2.2服务监听选项2.3用户登录控制2.4登录验证方式
三、TCP Wrappers控制3.1TCP Wrappers概述3.1.1保护原理3 .1.2保护机制的实现方式3.1.3访问控制策略的配置文件
3.2TCP Wrappers访问策略3.2.1设置访问控制策略3.2.2策略的应用程序3.2.3策略应用实例
四、使用SSH远程访问(模拟实验)4.1ssh远程登录4.2scp命令——远程安全复制4.3sftp——安全FTP
五、构建密钥对验证5.1密钥对整体实现过程5.2密钥对验证实验5.2.1实验环境5.2.2实验步骤5.2.3验证实验
一、什么是SSH?
◆ SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。 ◆ SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的 用户口令。 ◆ 与早期的 Telent(远程登录)、RSH(Remote Shell,远程执行命令)、RCP(Remote File Copy,远程文件复制)等应用相比,SSH 协议提供了更好的安全性。 ◆ OpenSSH 是实现 SSH 协议的开源软件项目,适用于各种 UNIX、Linux 操作系统。 二、SSH远程管理----服务端 2.1.SSH协议◆ 为客户机提供安全的shell环境,用于远程管理 ◆ 默认端口:TCP 22 ◆ 服务名称:sshd 服务端主程序:/usr/sbin/sshd 服务端配置文件:/etc/ssh/sshd_config ssh_config:针对客户端 sshd_config:针对服务端 访问形式端口号SSH:秘文访问默认端口TCP:22,一般广域网TELNET:明文形式的访问TCP:23,一般局域网远程桌面3389,图形化界面 2.2服务监听选项◆ sshd 服务使用的默认的端口号为22,但是这个不是固定的,我们可以使用 -p 修改端口号。 ◆ 在现实工作中,建议修改端口号,并指定监听服务的具体IP地址,以提高在网络中的隐蔽性。禁用 DNS 反向解析可以提高服务器的响应速度。 ssh [root@wang22~]# vim /etc/ssh/sshd_config ... #Port 22 #监听端口为 22, 端口号可以修改 #AddressFamily any #ListenAddress 172.16.16.22 #监听地址可修改 #ListenAddress :: Protocol 2 #使用 SSH V2 协议 ... UseDNS no #禁用 DNS 反向解析 ...例如,我们想登录主机ip地址为192.168.220.129,也是用root用户验证,执行以下操作即可: ◆ 禁止root用户,空密码用户 ◆ 登录时间,重试次数 ◆ AllowUsers(白名单,仅允许,只有这些可以登录) ◆ DenyUsers(黑名单,仅拒绝,只有这些不行) ◆ AllowUsers不可与DenyUsers同时使用 1、通常禁止root 用户或者密码为空的用户登录,另外还可以限制登录的验证时间(默认为2分钟),及最大重试次数,超出后未登录成功会断开连接。 # Authentication: #LoginGraceTime 2m #登录验证时间2分钟 #PermitROOTLogin yes #yes代表允许root用户登录,no代表root用户登录 #StrictModes yes #MAxAuthTries 6 #最大重试次数 #MaxSessions 10注意:默认尝试最大的登录次数是3次,如果我们去掉MaxAuthTries 前面的#符号,就代表开启,但是远程登录还是不能尝试6次,只能登3次。 #LoginGraceTime 2m #PermitROOTLogin yes #StrictModes yes MAxAuthTries 6 #去掉行头“#” #MaxSessions 10
◆ 例如,现有一台服务器,只允许zhangsan 和 lisi 用户登录,且 lisi用户只能从IP地址为192.168.220.131的主机远程登录, 则 可 以 在 /etc/ssh/sshd_config文件中添加配置即可,保存退出后。 ◆ 记得要重启一下sshd服务。 # Ciphers and keying #PekeyLimit default nine AllowUsers zhangsan [email protected] # Logging #Syslogcility AUTH◆ 登录验证对象 服务器中的本地用户账号 ◆ 登录验证方式 密码验证: 就是我们平常使用最多的一种,使用用户名和密码登录,但是这种方式可能会遭遇暴力破解,防御能力较弱。 密钥对验证: 要求提供相匹配的密钥信息才能通过验证,通常先在客户机中创建一对密钥文件(私钥和公钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,会大大增强远程管理的安全性。 ◆ 密钥对:包含公钥,私钥 公钥:服务器使用 私钥:客户保留 非对称秘钥:RSA 对称秘钥:3DES,AES [root@wang22 ~]# vim /etc/ssh/sshd_config PasswordAuthentication yes '是否使用密码' PermitEmptyPasswords no '禁止空密码' PasswordAuthentication yes '是否需要密码验证' PubkeyAuthentication yes //开启公钥验证 AuthorizedKeysFile .ssh/authorized_keys '指定公钥库位置'公钥和私钥要配对使用,如果使用公钥对数据进行加密,只有用相对应的私钥才能解密;如果使用私钥对数据进行加密时,那么只有用对应的公钥才能解密。 三、TCP Wrappers控制 3.1TCP Wrappers概述 3.1.1保护原理◆ 方式一 通过tcpd主程序对其他服务程序进行包装 ◆ 方式二 由其他服务程序调用libwrap.so.*链接库 3.1.3访问控制策略的配置文件◆ /etc/hosts.allow ◆ /etc/hosts.deny ldd `which sshd` 查看模块 3.2TCP Wrappers访问策略 3.2.1设置访问控制策略◆ 策略格式 服务列表:客户机地址列表 ◆ 服务列表 多个服务以逗号分隔,ALL表示所有服务 ◆ 客户机地址列表 多个地址以逗号分隔,ALL表示所有服务 允许使用通配符*和? 网段地址,如192.168.1 或者 192.168.1.0/255.255.255.0 区域地址,如.benet.com 3.2.2策略的应用程序◆ 先检查hosts.allow,找到匹配则允许访问 ◆ 否则再检查hosts.deny,找到则拒绝访问 ◆ 若两个文件中均无匹配策略,则默认允许访问 3.2.3策略应用实例◆ 仅允许从以下地址访问sshd服务 主机192.168.100.100 网段192.168.200.0/24 ◆ 禁止其他所有地址访问受保护的服务 [root@wang22 ~]# vim /etc/hosts.allow sshd:192.168.100.100,192.168.200.* [root@wang22 ~]# vim /etc/hosts.deny sshd:ALL◆ 优先读取allow,然后再读取deny ◆ 如果做黑名单,name白名单就不用写 四、使用SSH远程访问(模拟实验) 4.1ssh远程登录◆ 通过 ssh命令可以远程登录sshd服务,为用户提供一个安全的shell环境,以便对服务器进行管理和维护,使用时应制定登录用户、目标主机ip地址作为参数。 ◆ 命令基本格式 ssh user@host ◆ 例如:登录主机192.168.220.129 ,以对方的zhangsan用户进行验证。 ◆ 通过scp命令可以利用 SSH安全连接与远程主机相互复制文件。使用scp命令时,除了必须指定复制源、目标之外,还应指定目标主机地址、登录用户,执行后根据提示输入密码即可。 ◆ 注意:如果是远程复制一个单独的文件的话直接用scp 就可以了,但是复制文件夹或目录的话,需要加 “-r” 选项。 命令基本格式 格式一:scp user@host:file 1 file 2 格式二:scp file 1 user@host:file 21、将本地文件复制到其他服务器 ◆ 格式1:scp 本地文件路径 对方登录用户@ip地址:对方文件存放路径 ◆ 例如:我们将本地 /opt下的 test01.txt这个文件复制到 远程服务器(ip地址是192.168.220.131)中的/opt目录下。 ◆ 通过sftp命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互式环境,便于目录资源的管理。 ◆ 命令基本格式 sftp user@host get:下载 put:上传 1、下载文件:get 例如:我们使用sftp命令远程连接一台ip地址为192.168.220.129的主机,将其/opt 目录下的test01.txt,这个文件下载到本地: 在linux客户机中, 通过ssh_Keygen工具为当前用户创建密钥对文件,可用的加密算法为RSA或DSA,(ssh-keygen -t 选项用于指定算法类型) 具体过程分四步 第一步: 创建密钥对: 1.私钥文件:id_rsa 2.公钥文件:id_rsa.pub 第二步: 上传公钥文件:id_rsa.pub 第三步: 导入公钥信息,公钥库文件:~/.ssh/authorized_keys 第四步 使用密钥对验证方式 5.2密钥对验证实验 5.2.1实验环境◆ 一台远程服务器(ip地址:192.168.220.129) ◆ 一台终端(用户名:caiwu;IP地址:192.168.220.131) 5.2.2实验步骤第一步:在客户端创建密钥对 1、先在服务器开启公钥。文件位置:/etc/ssh/sshd_config ◆ 在客户机中创建密钥对 ssh-keygen -t 命令 ◆ 可用的加密算法:RSA或DSA 公钥导入服务器成功后,我们来到终端来验证一下 ◆ ssh-agent 实现代理权 ◆ ssh-add 添加交互密钥 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |