当前位置: 首页 > news >正文

SSH服务

一、准备

#请说明以下服务对应的端口号或者端口对应的服务
ssh             22
telnet          23
http            80
https           443
ftp             20 21
RDP             3389
mysql           3306
redis           6379
zabbix          10050 10051
elasticsearch    9200 9300
rsync           873
rpcbind         111

telnet:
    1.不支持root用户登录,只允许普通用户登录
    2.数据传输过程中明文的

#测目标机器的ip和端口是否能连通


 

ssh:
    1.支持root用户登录
    2.数据传输过程中时加密码

# ssh root@172.16.1.31             #链接 用户@远端ip

xshell 连不上------>

1.查看网络
    ping 10.0.0.31
2.查网卡,网卡是否启动
3.查端口
    telnet 10.0.0.31 22
4.检查sshd服务是否启动
5.防火墙
6.虚拟机的虚拟网络编辑器
7.查看windows的网卡
 

二、命令 

远程连接完成立即退出 

 scp

 往远程目录推送文件

#带目录推送

#只推送文件

#从远程推送文件到本地

 #-r   表递归                         -p  拷贝前后保持文件/目录属性不变

## ssh  -p  指定端口                   scp  -P  指定端口

#1.scp通过ssh协议加密方式进行文件或目录拷贝。
#2.scp连接时的用户作为为拷贝文件或目录的权限
#3.scp支持数据推送和拉取,每次都是全量拷贝,效率较低

sftp 

图形化使用xftp

##1.sz/rz
    1)不能上传大于4G的文件
    2)不能断点续传
    3)不能上传文件夹
 
##2.sftp
    1)能上传大于4G的文件
    2)支持断点续传
    3)可以上传文件夹

三、验证方式 

账户密码登录 

  #知道服务器的IP地址,端口,系统用户,密码,即可通过ssh客户端命令登陆远程主机。
[root@web01 ~]# ssh root@172.16.1.31 -p 22
root@172.16.1.31's password: 1
Last login: Tue Nov 24 09:57:59 2020 from 10.0.0.1

基于密钥登录 

 客户端生成密钥对(私钥+公钥)----->私钥加密(非必要)------->将公钥丢给服务端----->要远程登录哪个用户就将公钥放在对应用户的家目录下

# ssh-keygen            生成密钥对

#推送公钥到 172.16.1.7的root用户
ssh-copy-id -i .ssh/id_rsa.pub root@172.16.1.7            #客户端没改过路径的话 -i 后面不用跟路                                                                                              径会自动使用默认路径

原理(手动):

1.查看公钥
    [root@m01 ~]# cat .ssh/id_rsa.pub
 
2.在其他服务器创建文件,将内容粘贴进去
    [root@nfs ~]# mkdir .ssh
    [root@nfs ~]# vim .ssh/authorized_keys
 
3.授权文件
    [root@nfs ~]# chmod 700 .ssh/
    [root@nfs ~]# chmod 600 .ssh/authorized_keys
 
4.测试连接
    #首次连接需要记录服务器信息到 .ssh/known_hosts
    [root@m01 ~]# ssh 172.16.1.31
    The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
    ECDSA key fingerprint is SHA256:sYhpMuszVGaHSeWKyLXMGQQ72f/6KxyExWabnY/cz6w.
    ECDSA key fingerprint is MD5:bc:9c:0b:45:b5:27:71:cd:da:02:68:c0:48:71:9d:69.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.16.1.31' (ECDSA) to the list of known hosts.
    Last login: Tue Nov 24 10:37:03 2020 from 172.16.1.7
    [root@nfs ~]# 
 
    #再一次连接
    [root@m01 ~]# ssh 172.16.1.31
    Last login: Tue Nov 24 11:00:39 2020 from 172.16.1.61
    

批量命令脚本---->前提  对每台主机 / 服务器都配置了基于密钥的免密登录

四、 ssh安全优化

##SSH作为远程连接服务,通常我们需要考虑到该服务的安全,所以需要对该服务进行安全方面的配置。(安全优化)
1.更改远程连接登陆的端口
2.禁止ROOT管理员直接登录
3.密码认证方式改为密钥认证
4.重要服务不使用公网IP地址
5.使用防火墙限制来源IP地址

[root@m01 ~]# vim /etc/ssh/sshd_config
#修改ssh服务的端口
Port 1748
#禁止使用root登录服务器
PermitRootLogin no
#禁止使用密码登录服务器
PasswordAuthentication no


##加速优化 
UseDNS                  no      # 禁止ssh进行dns反向解析,影响ssh连接效率参数
GSSAPIAuthentication    no      # 禁止GSS认证,减少连接时产生的延迟



 



 
 

相关文章:

  • I/O多路复用 + Reactor和Proactor + 一致性哈希
  • JUC中的所有类详解
  • 架构设计基础:面向对象设计的原则
  • 【FPGA实战】基于DE2-115实现数字秒表
  • 【C++】自实现简谱播放
  • ESP-IDF中调用xEventGroupWaitBits函数失效问题的分析(1)
  • 碰一碰发视频网页版本开发的源码搭建指南
  • 三、FFmpeg学习笔记
  • 26--DHCP Snooping:网络世界的“房产中介资格认证系统“
  • 解锁健康密码,踏上养生旅程
  • YOLOV8 训练姿态检测模型
  • linux权限
  • 【实战】渗透测试下的传输命令
  • Linux安装Ubuntu24.04系统 并安装配置Nvidia 4090 显卡驱动
  • PTS-G3K13M RF Generator 3kW / 13MHz User’s Manual 手侧
  • Redis 6.2.6 生产环境单机配置详解redis.conf
  • 循环神经网络 - 简单循环网络
  • 正则表达式最小生成树算法题
  • 安全编码课程 实验5 动态内存(3)
  • Linux进程间通信:无名管道与有名管道的原理与实践
  • 肖钢:一季度证券业金融科技投资强度在金融各子行业中居首
  • 上海将建设万兆小区、园区及工厂,为模型训练数据的传输提供硬件支持
  • 男子聚餐饮酒后身亡,同桌3人被判赔偿近20万元
  • 网文书单|推荐4本网文,可以当作《绍宋》代餐
  • 知名中医讲师邵学军逝世,终年51岁
  • 小米汽车回应部分SU7前保险杠形变