ssh跳板机与远程连接

今日内容

1.什么是SSH

SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全

2.SSH的主要功能是什么

1.提供远程连接服务器的服务

2.对远程连接传输数据进行加密

3.SSH与Telnet之间有什么关系

服务连接方式 服务数据传输 服务监听端口 服务登录用户
ssh 加密 22/tcp 默认支持root用户登录
telnet 明文 23/tcp 不支持root用户登录

4.抓包分析ssh与telnet的区别

telnet使用在交换机 路由器 防火墙 等这类设备上

ssh 使用在服务器邻域

5.SSH相关客户端指令ssh scp sftp

客户端可以使用的命令:

ssh:用来连接远程Linux服务器(xshell底层,调用的就是ssh命令)

[c:\~]$ ssh [email protected] 
Connecting to 10.0.0.7:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
xudeMacBook-Pro:~ xuliangwei$ ssh 10.0.0.7
    [email protected]'s password:
如果不指定连接Linux服务器的用户,则使用当前客户端的用户作为远程Linux服务器的连接用户

scp:远程拷贝,全量拷贝(每次拷贝都是全量)

push 推:scp -rp /etc [email protected]
pull 拉:scp [email protected]:/opt/ /tmp
#1.scp的选项
限速 -l
递归 -r 
保持属性 -p
在限速的时候man帮助里面单位是Kbit/s,拷贝的时候显示的是MB/s 8bit=1Byte所以-l 10240,会显示10240/1024/8=1.25MB/s
在拷贝大文件的时候必须限速不然会吧带宽跑满

sftp:远程传输

rz不支持传输文件夹,同时不支持传输大于4个G的文件
Xshell统统可以搞定

6.SSH远程登录方式,用户密码 密钥方式

用户密码:简单容易被破解、复杂记不住

[c:\~]$ ssh [email protected]
[email protected]'s password:       #输入密码

基于密钥的方式来实现:

生产一对拥有数学关系的密钥对(公钥、私钥)

公钥加密,私钥解密。
公钥可以对外提供,对外开放。
私钥只有自己持有,不对外开放

7.密钥方式的实现案例

想实现 10.0.0.61 免密码登录  10.0.0.7 
1.在10.0.0.61 上生成一对 密钥对   公钥和私钥
2.10.0.0.61 将公钥 放一份到 10.0.0.7 服务器上
3.10.0.0.61 去连接 10.0.0.7  
4.10.0.0.7 会返回 公钥询问(这个公钥是之前61 推送给7 的)
5.10.0.0.61 通过自己的私钥解密10.0.0.7 返回的公钥  
#1.在61服务器上生产密钥对
[root@oldboy ~]# ssh-keygen -C [email protected]
#2.查看密钥
[root@oldboy ~]# ll ~/.ssh/
总用量 12
-rw------- 1 root root 1679 4月  20 11:11 id_rsa
-rw-r--r-- 1 root root  399 4月  20 11:11 id_rsa.pub
-rw-r--r-- 1 root root  534 4月  20 10:34 known_hosts
#3.将公钥推给10.0.0.7的服务器
[root@oldboy ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id 拷贝公钥
-i 指定公钥的位置
拷贝到  10.0.0.7 这台服务器的 root用户下
[root@oldboy ~]# ssh [email protected]
Last login: Mon Apr 20 15:06:20 2020 from 10.0.0.1

8.SSH场景实践,借助SSH免秘实现跳板机功能?

SSH使用的场景.png
#1.生产密钥对
#2.复制公钥
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6xyCRJ0+69Ojq4DcT0aO27vEeaeV2bbBYz/w2XrNUHuYvnZ5Hm/fNhJH5cWInHZUqZqFFi48OXZ72hKULymTlr68tlrFSc9C2mAmEAajerzR7VZwVEi6otJYFOZT18+cF9gwA5gPOiYlqvoRYDBb9TGAtUZrnTNg5l+K3C3Rym2yjJxsQuGIpmjBQssEeWwiqwqNoCvDkv+tz+z7b9+LkfoznJp86osLss7bTt+5PXuaSs1P3yKZ57ah6VjXNT/e+wwwwXOr+GTaNrpTpt5KSNQC2PfHzlPe2zXEgX0k7ipDAGGmdiO6RqigMav1vKTQOj9pFqXy8K+JjJx2gvcy/Q==
#3.将公钥放在跳板机61的~/.ssh/目录下
[root@oldboy ~]# cd ~/.ssh/
[root@oldboy .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
#4.查看~/.ssh/目录的权限为700
[root@oldboy .ssh]# ll -d ~/.ssh/
drwx------ 2 root root 57 4月  20 15:16 /root/.ssh/
#5.查看当前的所在的路径
[root@oldboy .ssh]# pwd
/root/.ssh
#6.给跳板机的61服务器配置公钥文件authorized_keys
[root@oldboy .ssh]# vim authorized_keys
#7.给跳板机的61服务器配置公钥文件authorized_keys 授权
[root@oldboy .ssh]# chmod 600 authorized_keys
[root@oldboy .ssh]# ll authorized_keys
-rw------- 1 root root 402 4月  20 16:13 authorized_keys
#8.在跳板机61服务器给web nfs 推送公钥
[root@oldboy ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
[root@oldboy ~]# ssh [email protected]
Last login: Mon Apr 20 16:29:05 2020 from 172.16.1.61
[root@oldboy ~]# ssh [email protected]
Last login: Mon Apr 20 16:32:02 2020 from 10.0.0.1

9.SSH远程连接功能安全优化?

问题1.ssh连接时,要等待30s-1分钟才提示输入密码?(对IP做了反向解析)
问题2.ssh作为对外连接的一个服务,会不会被破解
1.更改远程连接登录的端口   默认ssh端口是22端口如果修改为其他的端口相对就会降低分险
2.禁止ROOT管理员直接登录  root 不能登录但是可以使用普通用户
3.密码认证方式该为密钥认证方式 (尽量不用)
4.重要服务不使用公网ip地址
5.使用防火墙限制来源ip地址
ssh服务登录防护需进行如下配置调整,进行优化
[root@backup ~]# cat /etc/ssh/sshd_config 
Port 6666                       # 变更SSH服务远程连接端口
PermitRootLogin         no      # 禁止root用户直接远程登录
PasswordAuthentication  no      # 禁止使用密码直接远程登录
UseDNS                  no      # 禁止ssh进行dns反向解析,影响ssh连接效率参数
GSSAPIAuthentication    no      # 禁止GSS认证,减少连接时产生的延迟
变更配置之后一定要重启服务
systemctl restart sshd

你可能感兴趣的:(ssh跳板机与远程连接)