加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

unix 文件加密 Linux_SSH服务应用

发布时间:2022-11-19 16:30:55 所属栏目:Unix 来源:网络
导读: 目录
简介
SSH是 "Secure Shell"的缩写,是建立在应用层和传输层基础上的一种安全协议,方便跨平台访问,常用于Linux服务器远程加密登录unix 文件加密,同时可以借助ssh协议来传输数据,提

目录

简介

SSH是 "Secure Shell"的缩写,是建立在应用层和传输层基础上的一种安全协议,方便跨平台访问,常用于Linux服务器远程加密登录unix 文件加密,同时可以借助ssh协议来传输数据,提供更安全的SFTP服务。

SSH服务安装

查看openssh安装情况:

rpm -qa openssh*

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

如果不存在的话需要先进行安装

安装

Centos系列运行命令安装:

yum install -y openssh

yum install openssh-server -y

yum install openssh*

当然,安装软件操作需要root权限运行

Debian系列运行命令安装:

apt-get install openssh-server

apt-get install openssh*

SSH配置文件

安装完成后配置文件路径在:

/etc/ssh/

ls /etc/ssh #查看

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

unix清空文件内容_excel文件加密怎么加密_unix 文件加密

这里有两个配置文件需要区分一下:

/etc/ssh/ssh_config #ssh客户端配置文件

/etc/ssh/sshd_config #ssh服务端配置文件

通常需要配置的就是 '/etc/ssh/sshd_config' 文件

最后在改动之前进行一下备份

cp -p /etc/ssh/sshd_config/etc/ssh/sshd_config.bak

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

cp

cp命令用于复制文件

常用参数:

-a #复制目录时使用,保留链接、文件属性,并复制目录下的所有内容

-d #复制时保留链接。相当于 Windows 系统的快捷方式

-f #覆盖已经存在的目标文件而不给出提示

-i #覆盖目标文件之前给出提示,要求用户确认是否覆盖

-p #除复制文件的内容外,同时复制时间和访问权限到新文件

-r #若源文件是一个目录文件,将复制该目录下所有的子目录和文件

-l #不复制文件,只生成链接文件

sshd_config文件内容:

Port 22 #监听端口,默认22,可随意更改

#AddressFamily any #IPV4和IPV6协议使用,any表示二者同时使用

ListenAddress 0.0.0.0 #IPV4,0.0.0.0表示本机的所有地址

#ListenAddress :: #IPV6

PermitRootLogin yes #允许管理员登录,yes允许,no拒绝

PermitEmptyPasswords no #是否允许空密码用户登录

PasswordAuthentication yes #是否允许基于密码登录

SSH登录系统

SSH提供基于口令(密码)的安全验证和基于密匙的安全验证方式。

基于密码的安全验证

只要你知道自己帐号和对应的密码,就可以通过ssh服务登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,比如蜜罐。

比如这里我这里使用用户名 'root' ,密码 'root' ,登录cnentos:

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

没有做过多限制的话,只有用户名和密码正确即可通过ssh服务登录。

-l #登录的用户名

-p #连接的端口

基于密匙的安全验证

将自己的公钥储存在远程主机上,登录的时候远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不用在输入密码即可成功登录到系统。

sshd_config配置文件需要配置:

PubkeyAuthentication yes #公钥验证开启

AuthorizedKeysFile .ssh/authorized_keys #私钥文件路径,公钥发给客户端

PasswordAuthentication no #禁用密码验证登录

首先生成一个秘钥文件

ssh-keygen

unix清空文件内容_excel文件加密怎么加密_unix 文件加密

这里我是在本地windows中生成的所以是 'ssh-keygen.exe'

中间不用输入使用默认即可

unix清空文件内容_excel文件加密怎么加密_unix 文件加密

id_rsa #私钥

id_rsa.pub #公钥

然后将本机的公钥文件复制到远程机器的用户家目录下保存到'.ssh/authorized_keys' 文件中

unix清空文件内容_unix 文件加密_excel文件加密怎么加密

这里我是直接使用的ssh终端软件将id_rsa.pub文件进行的sftp文件传输到ssh服务主机的root家目录下

unix清空文件内容_unix 文件加密_excel文件加密怎么加密

因为这里没有 ‘.ssh’ 文件夹,所以这里先新建了一个

unix清空文件内容_unix 文件加密_excel文件加密怎么加密

随后将 'id_rsa.pub' 文件中的内容保存为'.ssh' 文件夹下的 'authorized_keys'

然后重启了一下ssh服务

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

最后运行命令验证秘钥后没有输入用户密码直接登录到了ssh服务主机

当然,这里我没有更改任何的文件夹及文件的权限,至于网上很多说需要更改 '.ssh' 权限的设置自己可以去尝试一下:

chmod 700 .ssh

chmod 600 .ssh/authorized_keys

在说明一下,这里我是在windows主机上传输文件到linux主机,如果直接两台linux主机上进行文件传输可以使用scp命令,当然windows上也支持scp命令,但是好像只能使用ssh服务的默认22端口,我这里是映射出来的端口在2222,进过尝试无法完成,所以采用sftp直接上传文件了

unix清空文件内容_unix 文件加密_excel文件加密怎么加密

scp

scp:'secure copy' ,命令是 linux 系统下基于 ssh 登陆进行安全的远程复制文件和目录命令。

常用参数:

SSH命令参数

ssh user@]host [command]

ssh 192.168.217.128

#windows命令行中不加用户名默认使用当前系统用户名

#linux中不假用户名默认使用root用户

参数:

-b #指定连接的源IP

-g #允许远程主机连接主机的转发端口

-i #指定私钥文件

-l #指定连接远程服务器登录用户名

-N #不执行远程指令

-p #指定远程服务器上的端口

-q #静默模式

-X #开启X11转发功能

-x #关闭X11转发功能

-t #不分配伪终端

SSH隐身登录

ssh -T root@192.168.217.128 /bin/bash -i

-T #不分配伪终端

-i #bash的参数,表示交互式shell

这里以kali为例:

目前只打开了一个终端

unix 文件加密_excel文件加密怎么加密_unix清空文件内容

通过windows使用ssh添加一个会话后

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

使用 'w' 和 'who' 命令查看当前已经多出来一个用户在线

尝试运行命令:

ssh ling@192.168.217.128 -T /bin/bash -i

excel文件加密怎么加密_unix清空文件内容_unix 文件加密

unix 文件加密_unix清空文件内容_excel文件加密怎么加密

此时在运行'w' 和 'who' 命令但是没有检测出新加入的ssh连接从而达到隐身登录的目的。

SSH端口转发

SSH能够将其他TCP端口的网络数据通SSH链接来转发,并且自动提供了相应的加密及解密服务。SSH为其他TCP链接提供了一个安全的通道来进行传输,如果工作环境许中的防火墙限制了一些网络端口的使用,但是允许SSH的连接,那么就能够将通过ssh将TCP用端口转发来使用SSH进行通讯。

-L #本地转发

-R #远程转发

-f #后台启用

-N #不打开远程shell(不加-N则直接登录进去)

-g #启用网关功能

本地转发

ssh -L 本地端口:连接主机:连接主机端口 转发的主机

ssh -L 8888:192.168.217.128:22 192.168.217.128

将本地8888端口通过192.168.217.128转发至192.168.217.128主机的22端口

unix 文件加密_unix清空文件内容_excel文件加密怎么加密

运行命令之后本机和192.168.217.128主机建立了一个tcp连接用于转发

unix清空文件内容_excel文件加密怎么加密_unix 文件加密

这时候在本地从新打开一个终端并尝试运行ssh命令连接本地8888端口

ssh 127.0.0.1 -p 8888 -l root

unix 文件加密_unix清空文件内容_excel文件加密怎么加密

这个时候连接上的同样是kali主机

SSH日志信息

cat /var/log/auth.log #ubuntu

cat /var/log/secure #centos

cat /var/log/auth.log |grep "Accept" #登录成功的日志

cat /var/log/auth.log |grep "pam_unix(sshd:session): session closed" #正常退出的日志

cat /var/log/auth.log | grep "Failed password for" #登录失败日志

sudo grep "Failed password" /var/log/auth.log|perl -e 'while($_=){ /for(.*?)from/; print"$1\n";}'|sort|uniq -c|sort -nr

#统计登录失败的用户名及次数

sudo cat /var/log/auth.log | grep "Failed password for" |grep "root" | grep -Po '(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])(\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)){3}'|sort|uniq -c|sort -nr

#统计登录者的Ip和次数(这里用的是root)

cat /var/log/auth.log | grep "Failed password for"| grep "invalid" | cut -d " " -f 11 | sort | uniq -c | sort -nr

#统计不存在的用户名及错误登录次数

SSH暴力破解

hydra -L users.txt -P password.txt -t 5 -vV -o ssh.txt -e ns 192.168.217.128 ssh

hydra -L user.txt -P pass.txt -t 20 -vV ssh://192.168.217.128

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!