当前位置: 首页 > 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的网卡
 

c-s 架构基于网络通信

二、命令 

远程连接完成立即退出 

 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认证,减少连接时产生的延迟



 



 
 


http://www.mrgr.cn/news/96725.html

相关文章:

  • 增加等IO状态的唤醒堆栈打印及缺页异常导致iowait分析
  • 设计模式 三、结构型设计模式
  • CMD(命令提示符)、PowerShell 和 Windows Terminal
  • C++练习3
  • ZGC 参数优化与 GC 触发机制解析分享
  • cpu下安装MinerU进行数据清洗
  • Linux centos 7 常用服务器搭建
  • 解决 CMS Old GC 频繁触发线上问题技术方案
  • Spring Boot向Vue发送消息通过WebSocket实现通信
  • 初学STM32系统时钟设置
  • 【SpringBoot + MyBatis + MySQL + Thymeleaf 的使用】
  • Linux基础入门指南:用户管理、基本指令(一)
  • QT 非空指针 软件奔溃
  • RAG优化:python从零实现Proposition Chunking[命题分块]让 RAG不再“断章取义”,从此“言之有物”!
  • SpringIoC和DI
  • Sink Token
  • Day3 蓝桥杯省赛冲刺精炼刷题 —— 排序算法与贪心思维
  • Redis 6.2.6 生产环境单机配置详解redis.conf
  • 深入解析拓扑排序:算法与实现细节
  • 【LeetCode 热题100】347:前 K 个高频元素(详细解析)(Go语言版)