SSH远程服务管理

SSH远程服务管理

文章目录

1、ssh是什么?

密文传输,是一个安全外壳的协议

远程连接协议:

telnet tcp/23 明文

ssh tcp/22 密文

2、ssh和telnet的区别

1、telnet是明文,ssh是密文

2、telnet默认不允许root用户登入 ssh允许

3、ssh的功能

php 复制代码
#1、提供远程连接服务器服务
       云主机
       虚拟机
       物理主机

#2、对传输的数据进行加密

4、使用winshark抓包 查看telnet和ssh之间的区别

抓取telnet
php 复制代码
#安装telnet
[root@server ~]# yum -y install telnet-server

#创建用户密码,用于登入,因为不可以使用root用户
[root@server ~]# useradd jy
[root@server ~]# echo 123 | passwd --stdin jy
Changing password for user jy.
passwd: all authentication tokens updated successfully.
    
#启动服务
systemctl start telnet.socket

#进行远程登入

5、ssh软件包分析

php 复制代码
[root@server ~]# yum list openssh*
openssh.x86_64                   7.4p1-23.el7_9    @updates
openssh-clients.x86_64           7.4p1-23.el7_9    @updates
openssh-server.x86_64            7.4p1-23.el7_9    @updates
    
 
#相关的命令
#服务端软件提供
[root@server ~]# rpm -ql openssh-server
/etc/pam.d/sshd        #ssh进程
/etc/ssh/sshd_config   #ssh配置文件
 
#客户端提供服务
[root@server ~]# rpm -ql openssh-clients
/usr/bin/scp          #远程拷贝
/usr/bin/sftp         #文件传输
/usr/bin/slogin       #ssh  登入
/usr/bin/ssh          #ssh 连接命令
/usr/bin/ssh-copy-id  #传输密钥
/usr/bin/ssh-keyscan  #生成密钥
           
#语法:    
      ssh命令  /usr/bin/ssh
      ssh  -p22  用户名@目标主机名称|ip地址
      -p  端口号

6、scp复制数据至远程主机命令

php 复制代码
# scp 命令
# -P(大写) 指定端口,默认22端口可不写
# -r 表示递归拷贝目录
# -p 表示在拷贝文件前后保持文件或目录属性不变
# -l 限制传输使用带宽(默认kb)


推:PUSH,上传
# scp -P22 -rp /etc root@10.0.0.41:/tmp
# /etc为本地的目录。
# "@"前为用户名
# "@"后为要连接的服务器的IP。
# IP后的:/tmp目录,为远端的目标目录。
# 说明: 以上命令作用是把本地/etc推送至远端服务器10.0.0.41的/tmp目录
    
    
    
拉:PULL,下载
# scp -P22 -rp root@10.0.0.41:/etc /opt/
# 还可以将远端目录或文件拉取至本地

结论:

1.scp通过加密进行远程拷贝文件或目录的命令。

2.scp拷贝权限为连接的用户对应的权限。

3.scp支持数据的推送和拉取,但每次都是全量拷贝,效率低下。

7、sftp 远程数据传输命令

php 复制代码
连接远程sftp
# sftp root@10.0.0.41
# sftp -oPort=52113 root@10.0.0.41 <-sftp的特殊端口连接
    
    
# 下载文件, 至于本地服务器
sftp> get conf.txt /tmp/
    
    
# 上传本地服务器文件, 至远程服务器
sftp> put /root/t1.txt /root/

8、ssh的连接方式

1、 输入命令
php 复制代码
账户密码进行登录 基于账户密码
ssh root@10.0.0.200

9、案例

php 复制代码
#ssh生成介绍
linux
生成密钥对
ssh-keygen 
一路到底 如果有需求可以添加
ssh-keygen 
Generating public/private rsa key pair.
# 生成rsa公私密钥对
Enter file in which to save the key (/root/.ssh/id_rsa): 
# 输入保存密钥的文件(/root/.ssh/id_rsa): 自定义密钥文件名称
Enter passphrase (empty for no passphrase): 
# 输入密码短语: 输入密钥密码
Enter same passphrase again:  
# 再输入一遍密码进行确认
Your identification has been saved in /root/.ssh/id_rsa.
# 密钥生成完成
Your public key has been saved in /root/.ssh/id_rsa.pub.
# 公钥生成完成
The key fingerprint is:
SHA256:lQR2p3yd6emd8+zfqKNWM6sEIe2BlQfayDI8UCeVRsM root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|  ..o+=.=+o .    |
|   o +EX.+.+ . o |
|    =.* =.= . +  |
|     + o + . . . |
|        S     o  |
|         .  +. ..|
|          .. +.o.|
|         .. o  o+|
|         .oo.o..B|
+----[SHA256]-----+
php 复制代码
#实验
基本环境
m01 10.0.0.61     密钥对 公钥 私钥
backup 10.0.0.41  被管理  公钥
nfs  10.0.0.31    被管理 公钥

m01
1.生成密钥对
ssh-keygen

2.分发公钥
backup
ssh-copy-id -i .ssh/id_rsa.pub root@10.0.0.41

nfs
ssh-copy-id -i .ssh/id_rsa.pub root@10.0.0.31

ssh的访问控制
ssh的配置文件
/etc/ssh/sshd_config #修改配置文件
Port  #修改ssh的端口号
PermitRootLogin yes #root用户登录相关的选项
PasswordAuthentication yes  #开启基于用户密码登录方式
UseDNS no   #SSH的DNS解析功能 减少ssh的连接效率
GSSAPIAuthentication no  #是否开启验证
相关推荐
大树8813 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠14 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质14 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
开发者联盟league14 小时前
安装pnpm
ssh
Inhand陈工15 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智15 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_16 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉16 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦17 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_9618752417 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant