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文件复制当前下
感谢帅哥,美女观看,多多支持哦