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  #是否开启验证
相关推荐
db_cy_20621 小时前
Git对服务器配置文件进行版本控制
运维·服务器·git
TracyCoder1232 小时前
在Ubuntu上搭建大模型最基础的应用环境
linux·运维·ubuntu
云和数据.ChenGuang2 小时前
AI运维工程师技术教程之Linux环境下部署Deepseek
linux·运维·人工智能
JuiceFS2 小时前
JuiceFS + MinIO:Ariste AI 量化投资高性能存储实践
运维·后端
ejinxian2 小时前
WindFlow - 通过多个AI增强您的自动化工作流程
运维·自动化·ai工作流程
kblj55552 小时前
学习Linux——学习工具——DNS--BIND工具
linux·运维·学习
晚风吹长发2 小时前
初步了解Linux中文件描述符-fd
linux·运维·服务器·c++·开发·文件
微风◝2 小时前
AlmaLinux9配置本地镜像仓库
linux·运维·服务器
保持低旋律节奏2 小时前
linux——make/Makefile自动化工程构建
linux·运维·自动化