一、ssh基本配置
开两台centos系统7-1(服务端)、7-2(客户端)
用xshell连接,证明sshd的22端口开放出来了
配置文件所在位置
进入服务端配置文件,进行一系列配置:端口22功能打开等等
为区分两个系统用户,我们分别将其用户名设为test01、test02,接着进行远程登陆。
输入访问命令,即可连接并进行一系列操作
可在对方的opt下创建abc文本,进行远程操作
回到7-1的服务端,进ssh配置文件,更改不允许对方用root身份登陆,保存退出。即在客户端用root身份不可登陆,即使有密码也无法登陆。
但随之而来的问题,我们先用普通用户lisi登陆服务端,接着可切换到服务器的root用户,可实现跳板登陆
解决:进行pam模块验证,开启功能,即不在wheel组内成员不可用su命令切换用户。
在客户端用lisi登陆,并用su切换root,被拒绝。并且切换同级别权限的zhangsan,也不能切换。(pam验证开启非常重要,加大系统安全)
结论:不在wheel组内平级用户也切换不了,zhangsan在wheel组内,可切换为lisi用户,也可切换root用户。
开启最大验证次数功能,却发现默认验证3次。
要想验证次数变为6,那么我们就要更改验证次数为8,即验证最大次数从默认的3变为了6。
回到服务器7-1,配置文件中插入白名单,即皆可登陆服务器的zhangsan和wangwu用户
此时我们还需在开一台centos7-3,IP为129.168.195.130,登陆服务器wangwu(配置文件中没设置wangwu允许登陆的ip,可从任意终端登陆)
结论:白名单上为仅允许,名单上有的条目可以去执行,没有的一概不能执行;反之黑名单则为仅拒绝,即名单上的条目皆不可执行。(在企业环境中建议使用白名单)
二、密钥对进行身份验证
在配置文件中开启密钥对验证功能
用7-2客户端进行密钥生成,用户caiwu来验证。
在家目录下有公钥和私钥,推送公钥给服务端,指定服务端用户zhangsan,输入对方登陆密码,家目录下生成一个known_hosts(内有推送的服务端ip、加密方式ecdsa等)。
再次回到服务端,家目录中已有公钥导入文件。
查看当前用户方法
只有用caiwu用户ssh远程访问服务器zhangsan用户要用密钥对验证(每次验证都要密钥对验证)。
防止每次都要进行密钥验证,我们来设置只需一次验证,之后可直接进入。
三、ssh客户端
若服务器的端口改为123,那么在客户端远程访问就要输入以下命令,先开启客户端可用root用户登陆的权限(复制操作要用到),删除之前建立的白名单。
Scp远程复制文件到服务器端。
Scp远程复制文件夹到服务器端。
将之前opt下文件全部删除,进行ssh安全下载文件。进行远程连接后,会回到对方服务器的家目录下
首先给文件改名server,进行ssh安全上传文件server文件
可以直接切换用户目录,进行任意更改文件。为限制只可访问对方服务器的家目录,我们研究出了一套方法。
在配置文件中找到这一行注释,并打开此功能。
并输入一系列命令。
且权限必须为755,文件属主、属组必须是root。
四、TCP Wrappers
在配置之前,需要将黑白名单在ssh配置文件中删除,否则配置策略应用时会重复。在/etc/hosts.allow中进行配置
在/etc/hosts.deny中进行配置
测试129客户端能否访问服务器,发现可以
测试130客户端能否访问服务器,发现被直接拒绝(黑白名单是允许输入密码,不一样)
现在在两个中配置两个一样的内容:均为129,发现允许访问。
结论:先检查allow中,找到匹配则允许访问。否则再检查hosts.deny,找到则拒绝访问;若两个文件中都没有内容,则默认所有文件允许访问。
原文地址:https://blog.51cto.com/14475593/2436530