• 5.SSH远程服务


    ssh服务

    1.ssh是一个远程连接服务,运行在Linux服务器的后台,默认监听22端口,通常情况下Linux都会启动该服务。

    ssh客户端工具:

    ssh 命令 ( 通过ssh协议连接ssh服务端 )

    				ssh root@192.168.10.180
    				ssh 以哪个用户的身份登陆@IP地址
    
    • 1
    • 2

    scp 命令 ( 远程拷贝命令 全量拷贝,基础ssh协议的,意味着更安全。)

    				推:	scp /tmp/test.txt   root@192.168.10.180:/tmp
    				拉:scp root@192.168.10.180:/tmp/test.txt  /mnt/
    
    				-rp	
    				-r递归拷贝,简单来说就是拷贝目录
    				-p保持属性。
    				-l限速传输
    				
    				限速:scp -rl 20000 /tmp/data  root@192.168.10.180:/tmp
                    限制每秒传输20000字节,也就约等于每秒传输2M的数据
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    linux基于秘钥的方式连接服务器

    		    基于秘钥的方式		
    
    			将10.0.0.10 作为登陆各个节点的服务器
    			将10.0.0.20 10.0.0.30  作为被登陆节点
    			
    			实现10.0.0.10 登陆 20 或者 30   免密登陆
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.10.0.0.10 生成一对秘钥对 (公钥和私钥) 将公钥发送给 20 或者 30 (刚开始需要输入 20 或 30的密码)
    ssh-keygen
    会在/.ssh/目录下生成公钥和私钥
    在这里插入图片描述

    2.发送10的公钥到各个服务器

    				ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.20
    				ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.30
    
    • 1
    • 2

    3.10通过免密登陆20或30

    ssh root@10.0.0.20
    ssh root@10.0.0.30
    
    • 1
    • 2

    macOS生成公钥

    和Linux是一样的,下发公钥给需要登陆的服务器和Linux操作也一样,不变。

    Windows生成公钥

    在这里插入图片描述

    1.在PowerShell中执行以下指令
    ssh-keygen -t rsa
    #该命令产生的密钥是通过rsa算法加密生成的
    #也可以用-C参数,指定注释
    
    2.生成过程中默认回车即可
    
    3.生成的公钥/私钥,会保存在(C:\Users\xxx/.ssh/)路径下
    其中id_rsa.pub是公钥,id_rsa是私钥
    
    4.将公钥拷贝到所要免密登陆的服务器上
    scp C:\Users\xxx\.ssh/id_rsa.pub root@192.168.51.xxx:~/.ssh
    
    
    服务端
    5.修改ssh配置文件"/etc/ssh/sshd_config"的下列内容,将以下内容的注释去掉
    
    RSAAuthentication yes # 启用 RSA 认证
    PubkeyAuthentication yes # 启用公钥私钥配对认证方式
    AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径
    
    6.将刚才传过来的公钥文件的内容追加到authorized_keys文件
    cat id_rsa.pub >> ~/.ssh/authorized_keys
    
    7.服务端重启SSH服务
    service sshd restart
    
    8.再次连接时候就不需要输入密码了
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    		6.基于SSH的跳板机,仅支持所谓的跳板连接的功能。
    			1.不会记录与后端多少台主机进行免密。
    			2.没有行为审计。
    			3.没有录屏回放。
    		
    			自研的跳板机、开源、jumpserver、teleport、阿里云跳板机
                前提:我们必须先进行免密。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    ssh安全

    不是所有机器都需要配置,仅针对个别主机(使用公网IP的主机)。 其余所有主机都是内网,无需做相应的操作

    			1、SSH服务端端口   将默认22 修改为  6666		*****
    			vim /etc/ssh/sshd_config
    			Port 6666
    
    			2 、禁止root直接登陆(禁止后可以选择使用普通用户登陆,然后su -切换到root)
    			PermitRootLogin no
    
    			配置修改后记得重启SSH服务
    			systemctl restart sshd
    
    			3 、使用防火墙限制来源IP******
    				可以使用  Firewalld、IPtables、 阿里云安全组
    				物理机: firewalld、iptables、硬件防火墙
    				云主机:云 上面 的安全产品
    				
    			4、重要服务不使用公网IP
    			
    			5、密码认证改为密钥认证
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    基于Java毕业设计学校图书馆管理系统源码+系统+mysql+lw文档+部署软件
    Qt实现一个漂亮的等待加载界面
    大公司的Java面试题集
    华东师范大学副校长周傲英:数据赋能,从数据库到数据中台
    java毕业设计电影网站系统设计Mybatis+系统+数据库+调试部署
    【数据结构】栈与队列
    java毕业设计——基于java+JDBC+sqlserver的物业管理系统设计与实现(毕业论文+程序源码)——物业管理系统
    算法基础课第二部分
    Spa项目开发(动态树&数据表格&分页)
    idea的GsonFormatPlus插件教程
  • 原文地址:https://blog.csdn.net/Wangjiachenga/article/details/125896860