欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux系统学习 八、网络基础—SSH远程管理服务

程序员文章站 2022-05-03 22:23:47
1、SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议。传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多。 ftp安装(要先加载上光盘镜像文件) 安装的ftp服务器端 启动服务 查看 创建一个新用户 tcpdump抓包 ......

1、ssh简介

ssh(安全外壳协议)是secure shell的缩写,是建立在应用层和传输层基础上的安全协议。传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多。

ftp安装(要先加载上光盘镜像文件)

安装的ftp服务器端

 Linux系统学习 八、网络基础—SSH远程管理服务

启动服务

 Linux系统学习 八、网络基础—SSH远程管理服务

查看

 Linux系统学习 八、网络基础—SSH远程管理服务

创建一个新用户

 Linux系统学习 八、网络基础—SSH远程管理服务

tcpdump抓包工具

安装命令

yum install tcpdump

 Linux系统学习 八、网络基础—SSH远程管理服务

然后在本地机器上连接虚拟机

 Linux系统学习 八、网络基础—SSH远程管理服务

应该是有防火墙

iptables -l

 Linux系统学习 八、网络基础—SSH远程管理服务

默认windows当中启动的防火墙,21端口没开着

 Linux系统学习 八、网络基础—SSH远程管理服务

这边使用命令全部关掉,然后重新监听21端口

Linux系统学习 八、网络基础—SSH远程管理服务

虽然登录失败了,但是并不影响抓包

用户名:

 Linux系统学习 八、网络基础—SSH远程管理服务

密码:

 Linux系统学习 八、网络基础—SSH远程管理服务

 

2、ssh端口

端口:22

linux中守护进程:sshd

安装服务:openssh

服务端主程序:/usr/sbin/sshd

客户端主程序:/usr/bin/ssh

 Linux系统学习 八、网络基础—SSH远程管理服务

 

 Linux系统学习 八、网络基础—SSH远程管理服务

 

 

3、相关配置文件

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

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

 

2、ssh加密原理

对称加密算法

采用单钥密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,这种加密方式称为对称加密,也称为单秘钥加密。

非对称加密算法又名“公开秘钥加密算法”,非堆成加密算法需要两个秘钥:公开密钥和私有秘钥。

ssh安全外壳协议(是由非对称加密演变来的)

它仅仅只是保护了数据传输的过程,在发送前和接收后中了木马等就可能获得数据内容。

 Linux系统学习 八、网络基础—SSH远程管理服务

在用xshell连接服务器时就会有直观的显示。

 Linux系统学习 八、网络基础—SSH远程管理服务

 

3、ssh配置文件

 Linux系统学习 八、网络基础—SSH远程管理服务

服务器端配置文件

应该还有一个客户端的配置文件(ssh_config)

ssh_config在使用过程中,既是一个客户端也是一个服务端,意思是可以允许别人作为客户端通过22端口访问我,我也可以作为客户端去访问别人。

 Linux系统学习 八、网络基础—SSH远程管理服务

permitrootlogin yes        允许root的ssh登录(建议普通用户登录)

 Linux系统学习 八、网络基础—SSH远程管理服务

passwordauthentication yes            建议也改成no

虽然有些设置是被注释掉的,但是事实上有些是默认设置的,注释掉也可以。

一般建议把端口改掉。

日志中等级越高记录的信息越少,等级越低记录的信息越详细。

gssapi认证开启后,在用linux系统管理linux系统时会有一个验证过程,会等很长时间,需要dns解析。建议关闭(一般是客户端的配置文件,然后重启service sshd restart)

 

4、常用ssh命令

ssh远程管理

ssh [用户名@ip]

 

scp远程复制

下载:

scp root@192.168.44.2:/root/text.txt

上传:

scp –r /root/123/ root@192.168.44.2/root

 

5、ssh连接工具

在windows中用工具远程连接linux进行管理。

securecrt工具

xshell工具

 

5、ssh密钥对登录

保护服务器端的ssh

1.改端口

2.防火墙

 

第一步:创建密钥对,私钥文件:id_rsa,公钥文件:id_rsa.pub(客户机)

第二步:上传公钥文件到ssh服务器(id_rsa.pub)

第三步:导入公钥信息,公钥库文件:~/.ssh/authorized_keys

第四步:使用密钥对验证进行登录

不需要密码登陆,防止了密码被截获的可能,只要保证私钥文件的安全就可以了

 

步骤一:

客户端:

ssh-keygen –t rsa

服务器:

把公钥上传到服务器端

cat id_rsa.pub >>/root/.ssh/authorized_keys                  输出重定向

chmod 600 /root/.ssh/authorized_keys

 Linux系统学习 八、网络基础—SSH远程管理服务

客户端:

 Linux系统学习 八、网络基础—SSH远程管理服务

创建普通用户

 Linux系统学习 八、网络基础—SSH远程管理服务

切换到普通用户

su – user

返回到root

exit

 Linux系统学习 八、网络基础—SSH远程管理服务

我这边一直是以下这种显示

 Linux系统学习 八、网络基础—SSH远程管理服务

不管是服务器还是本机的permitrootlogin yes都改了,但是问题依旧没有解决。

也尝试用普通用户连接,依旧是这种情况。

 

步骤二

修改服务器ssh配置文件

rsaauthentication yes    开启rsa验证

pubkeyauthentication yes      是否使用公钥验证

authorizedkeysfile .ssh/authorized_keys      公钥的保存位置

passwordauthentication on   禁止使用密码验证登录

 

步骤三

服务器端关闭selinux服务

vi /etc/selinux/config

重启系统

服务器端重启ssh服务

service sshd restart