ssh简介,scp命令 ,远程连接 构建密钥对体系

本文介绍了SSH协议的基础知识,包括其安全特性、默认端口及版本。接着详细讲解了OpenSSH的配置,如修改服务监听端口、限制用户登录、启用不同验证方式等,以增强服务器安全性。最后,阐述了密码验证与密钥对验证的操作流程,特别是如何通过ssh-keygen创建密钥对并使用ssh-copy-id进行密钥对部署,实现无密码登录。
摘要由CSDN通过智能技术生成

SSH简介

ssh是一种安全通道协议,主要用来实现字符界面的远程登录、远程执行任务、远程复制等功能。

ssh协议通信双方的数据传输进行了加密处理,其中包括用户登录时输入用户的口令。

ssh协议默认端口是:22 tcp协议

SSH协议版本分为:V1 V2

二、openssh配置

openSSH服务器由openssh-clients(C)、openssh-server(S)[CS结构)等软件包提供,属于典型的C/S结构。

服务名称为:sshd

CS结构分为两种:C为客户端 ,配置文件为/etc/ssh/ssh_congfig ,S为服务端,配置文件为/etc/ssh/sshd_config daemon

对服务端进行控制

下面就来sshd配置文件里重要内容

1、服务监听选项

[root@localhost ~]# vim /etc/ssh/sshd_config (对服务端进行修改)

17 Port 22 (监听端口。建议修改为其他端口以提高在网络中的隐蔽性)

19ListenAddress 0.0.0.0:(监听IP地址。默认监听到0.0.0.0任意地址)

21 protocol 2 ( ssh协议的版本选用V2比V1的安全性更好

116 UseDNS no (禁用DNS反向解可以提高服务的响应速度){开的话会使连接xshell连的速度会变慢)

2、用户的控制

[root@localhost ~]# vim /etc/ssh/sshd_config

38 LoginGraceTime 10m (登录验证时间为10秒)

39 PermitRootLogin no (禁止root用户登录)

41 MaxAuthTries 3 (最大重试次数为3

65 PermitEmptyPasswords no (禁止空密码用户登录)

特殊写入命令

ALLOWUsers 仅允许用户登录 

DenyUsers 仅禁止用户登录

root@localhost ~]# vim /etc/ssh/sshd_config

141 AllowUsers tom jerry linuxxu@134.175.27.146 (仅允许tom jerry linux等用户登录,其中Linux用户只能来源于134.175.27.146 没有IP地址就是任何的IP地址的tom名字禁止登录)

  DenyUsers  tom jerry linuxxu@134.175.27.146 

登录验证方式

ssh服务支持两种验证方式

密码验证和密钥对验证

密码验证,对服务器中本地系统用户的登录名称,密码进行验证,这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能是被假冒的,从服务器角度来看,当遭遇穷举(暴力破解)攻击力时防御能力比较弱。

密钥对验证,要求提供相匹配的密钥信息才能通过验证,通常先再客户端中创建一对密钥文件(公钥/私钥),然后将公钥文件放到服务器中的指定位置。远程登录时、系统将使用公钥私钥进行加密/解密关联验证,大大增加了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在shell中被广泛使用。

加密方式有两种,对称加密,非对称加密

首先打开密码对验证,当密钥对启动时,服务器将优先使用密钥对验证,对于服务器来说密钥对验证方式安全、可靠。

[root@localhost ~]# vim /etc/ssh/sshd_config

66 PasswordAuthentication yes(启用密码验证)

44 PubkeyAuthentication yes (启用密钥对验证)

48 AuthorizedKeysFile .ssh/authorized_keys (指定公钥库文件(用于保存多个客户端上传的公钥文本)

[root@localhost ~]# systemctl restart sshd 重启服务

下面就开始操作流程,使用密码验证和密钥对验证

ssh命令格式为: ssh user@host (host主机地址)

首先在110服务器先关闭防火墙格式:

 105客户群连接110服务器这时第一次连接需要输入yes 

 输完yes就会显示输入服务器110的密码

这时发现已经登录上去了 

 

下面开始构成密钥对ssh体系

密钥对验证整过细节包含四步

1、首先要SSH客户端以root用户身份创建密钥对

2、客户端将创建的公钥文件上传至SSH服务端临时位置

3、服务端将公钥信息导入用户root的公钥数据文件

4、客户端以root用户身份连接服务端root用户测试

在Linux客户端中通过ssh-keygen命令工具为当前登录用户创建密钥对文件、可用的加密算法:ECDSA、RSA DSA 通过-t选项指定

ssh-keygen生成私钥和公钥    不加选项默认的RSA

新生成密钥对文件中、id_ecdsa是私钥文件,默认权限为600,对于私钥文件必须妥善保管,不能泄露给他人,id_ecdsa.pub是公钥文件,用来提供SSH服务器

第二步将公钥上传服务器

首先查看服务器110是否有公钥数据库authorized_keys 没有的话自己创建也行

将客户机的公钥上传到服务器

ssh-copy-id root@192.168.200.101 (专门针对密钥)

来测试登录服务器

这时不用输入密码直接就进入了服务器110机器

下面来掩饰scp命令

(2)scp 命令 (远程安全复制)

格式:scp [-r] user@hostfile1 file2 

格式二:scp [-r] file1 user@host:file2

先从客户机上传到110服务器上

看服务器有没有这个文件

在客户机操作,将110里789文件复制当前下

感谢帅哥,美女观看,多多支持哦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值