网络服务-SSH

网络服务-SSH

什么是ssh

ssh是secure shell的缩写,建立在应用层上的安全远程管理协议。Ssh是目前较为可靠的传输协议,主要用于远程登录会话和为其他网络服务提供安全性。默认使用22端口,采用密文的形式,对比telnet协议的明文传输吗,具有更高的安全性。

ssh的登录验证模式

ssh提供基于账户口令和密钥对两种登录方式:

1 账户口令:


Linux之间使用shh命令:ssh 用户名@ip地址
Windows和linux之间使用xshell等第三方工具登录

2 密钥对:

在这里插入图片描述

配置ssh服务

Linux之间

环境的准备:
两台linux操作系统的主机,配置好网络相关的参数,注意主机名要不同来便于区分
(如果是虚拟机克隆出来的记得更换网卡设置哦~)
关闭防火墙:
	临时关闭:
			Iptables -F  #清空防火墙的规则
			Setenforce 0  #临时关闭selinux
	永久关闭(配置完需要reboot):
			Chkconfig iptables off  #关闭自启动
			Vim /etc/selinux/config  将SELINUX=disabled
1.账号口令登录:
	:shh ip地址
	:登录密码
2.密钥对:
生产密钥对:
		Ssh-keygen -t rsa -b 1024
		-t 指定加密的类型
		-b 指定密钥加密长度

在这里插入图片描述

再传送文件给服务器: ssh-copy-id 用户名@ip地址

在这里插入图片描述
在这里插入图片描述

两个文档的内容一样,表示密钥传输成功
有了密钥对登录则下次ssh无需密码

(密钥对的优先级>账号口令登录)

Xshell登录linux

1.账户密码登录:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录成功

密钥对登录

在这里插入图片描述
在这里插入图片描述
加密长度是越长越安全,但是也对应着资源占用多
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

公钥一定要存放到~/.shh/authorized_keys文件中
将复杂的公钥替换到~/.shh/authorized_keys

在这里插入图片描述
就可以使用密钥对登录了~~

在这里插入图片描述
就可以使用密钥对登录了~~

禁止使用密码登录

一般在生产环境中会禁用密码口令登录,是如何禁用呢?
需要配置/etc/ssh/sshd_config
将PasswordAuthentication 改为no后重启即可 
  密码口令已经不适用了~

在这里插入图片描述

禁止root用户远程登录

配置文件:/etc/ssh/sshd_config
将PermitRootLogin 改为no即可
Root用户不可登录了~ 一定要记得用备用用户哈~

修改默认端口和限制监听ip

ssh默认为22tcp端口,但ssh作为远程管理系统对安全十分需求,所以我们最好修改一个高位端口,1000以内的是系统服务常用端口,所以尽量不使用。
配置文件:/etc/ssh/sshd_config

	修改 #Port  22
监听ip:
是指通过类似nat的形式,不使用外网直接登录,在局域网中,只有一台可以被外网远程,其他主机可以通过该主机进行远程连接,这样安全性更高。
配置文件:/etc/ssh/sshd_config
ListenAddress ip地址 

在这里插入图片描述
测试添加一个子接口,将监听设为子接口ip
在这里插入图片描述
在这里插入图片描述
原来的ip不能连接了 设置的ip可以

ssh服务相关命令

scp:安全的远程文件复制命令

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令。类似cp命令,scp传输是加密的,速度稍微会慢一些,但是不占资源,不会提高多少系统负荷。

scp 本地文件 用户名@服务器ip:目录
scp /root/abd.txt root@192.168.194.228:/tmp -P 1234
-P 端口  #若端口不是默认的,需要指定端口。
#路径建议使用绝对路径

也可以从服务器上下载文件:

scp 用户名@服务器ip:目录 文件
scp root@192.169.194.228:/tmp /root/	
sftp:安全的文件传输协议

sftp是Secure FileTransferProtocol的简写,安全文件传送协议。几乎与ftp相似,由于传输的方式使用了加解密的技术,所以比ftp安全,但传输效率要低得多。

sftp 用户名@ip地址
#-oPort=端口  如果不是默认端口的话
sftp root@192.168.194.228 
sftp -oPorto=2222 root@192.168.194.228 #改端口 

[外链图片转存失败(img-byXrZuy6-1565017753864)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1564664573434.png)]

sftp命令功能
help查看交互状态下支持那些命令
pwd/lpwdpwd是查看服务器所在路径,lpwd是客户端所在路径
ls/llsls是查看服务器当前目录下文件列表,lls是客户端当前目录下文件列表
put将客户机中的文件上传到服务器
get将服务器的指定文件下载到客户机的当前目录
rm删除服务器的指定文件
quit退出sftp交互模式

TCPWrappers简介和工作原理及使用

TCPWrappers简介

TCPWrappers是一个工作在传输层的安全工具,对有状态连接(TCP)的一部分特定服务进行安全检测和实现访问控制,通过libwrap.so库文件调用的程序就可以受TCPWrappers安全控制。它主要功能是控制谁可以访问,常见的程序有rpcbind、vsftpd、sshd、telnet。

判断方式:

1.查看对应服务命令的所在位置:which sshd
  1. 查看指定命令执行时是否调用libwrap.so文件:ldd /usr/sbin/sshd | grep libwrap.so

    ldd命令:静态查看服务在执行时调用的库文件列表

TCPWrappers工作原理

以ssh为例,当有ssh的连接请求时,会先读取系统管理员所设置的访问控制文件/etc/hosts.allow(优先)与/etc/hosts.deny,符合要求的放行,由ssh完成后续的工作;如果不符合访问控制文件的要求,则会中断请求,拒绝提供ssh服务。

在这里插入图片描述

  1. 优先查看hosts.allow,匹配即停止
  2. 允许个别,拒绝所有:hosts.allow文件添加允许的策略,hosts.deny文件添加all
  3. 允许所有,拒绝个别:hosts.allow文件为空,hosts.deny文件添加单个拒绝的策略
TCPWrappers的使用

TCPWrappers的使用主要依靠两个配置文件/etc/hosts.allow,/etc/host.deny,以此实现访问控制,在默认情况下,这两个配置文件都是没有策略的,没有限制。

配置文件编写规则:

service_list@list: client_list	
功能
service_lsit程序(服务)列表,可以写多个,用,隔开
@host设置允许或禁止他人从自己的哪个网口进入。本项不写则代表全部
client_list访问者的地址,可以写多个,用,或者空格隔开

格式如下:

  • 基于IP地址:192.168.88.1,192.168.88. (88.:代表88网段)
  • 基于主机名:www.xxxxxx.com
  • 基于网络/掩码:192.168.0.0/255.255.255.0 (centos6只能写出这样,centos7中可以写成192.168.0.0/24)

下面举个栗子:

  1. 拒绝单个IP使用ssh远程连接:

    配置文件:

    hosts.allow :空着

    hosts.deny:ssh:192.168.88.88

在这里插入图片描述

  1. 拒绝某一网段使用ssh远程连接:

    配置文件:

    hosts.allow :空着

    hosts.deny : sshd:192.8.8.

  2. 仅允许某一IP使用ssh远程连接:

    配置文件:

    hosts.allow :sshd:192.168.88.8

    hosts.deny : sshd:ALL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值