ssh远程访问及控制

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: ssh远程访问及控制

ssh远程访问及控制

一、ssh远程管理

1.1 概述

ssh是一种安全通道协议

主要功能:实现字符界面的远程登录,远程复制

ssh对通信双方的数据传输进行加密处理,包括用户的口令,具有很好的安全性

image.png

1.2 ssh的配置文件

ssh_config:针对客户端的配置文件

sshd_config:针对服务端的配置文件(经常修改)

1.3 ssh组成结构

1、传输层协议:ssh-trans

作用:服务器认证;提供加密技术;校验数据完整;数据压缩

一般运行在TCP/IP的链接上,也可能用于其他可靠的数据流上

2、用户认证协议:ssh-userauth

向服务器提供客户端用户鉴别的功能

运行在ssh-trans之上

作用:开始执行用户认证,从底层协议接收会话标识符;认证私钥的所有权

3、连接协议:ssh-connet

将多个加密隧道分成逻辑隧道

运行在用户认证之上,提供交互式登录会话;远程命令的执行;转发TCP/IP的链接

二、实验

实验一:远程登录

[root@localhost /]# vim /etc/ssh/sshd_config 

image.png

[root@localhost /]# systemctl restart sshd

切换到虚拟机2

[root@localhost ~]# ssh -p 10022 root@192.168.147.100   //-p表示指定端口号
root@192.168.147.100's password:              //输入虚拟机1的root用户的密码
Last login: Wed May 24 10:56:56 2023 from 192.168.147.1   //成功登陆

实验二:远程复制

2.1 复制文件

虚拟机2:

[root@localhost ~]# cd /opt/
[root@localhost opt]# touch 123.txt
[root@localhost opt]# ls
123.txt  backup  rh

虚拟机1:

[root@localhost ~]# cd /
[root@localhost /]# scp root@192.168.147.101:/opt/123.txt /opt/
root@192.168.147.101's password: 
123.txt                                                                          100%    0     0.0KB/s   00:00    
[root@localhost /]# cd opt/
[root@localhost opt]# ls
123.txt  rh

2.2 复制目录

虚拟机1

[root@localhost opt]# ls
123.txt  rh
[root@localhost opt]# mkdir aa
[root@localhost opt]# cd aa/
[root@localhost aa]# touch jkl.txt
[root@localhost aa]# ls
jkl.txt
[root@localhost aa]# echo 7458 > jkl.txt 

虚拟机2

[root@localhost /]# scp -rP 10022 root@192.168.147.100:/opt/aa /opt/    ##-r:复制目录   -P:指定端口号
root@192.168.147.100's password: 
jkl.txt                                                                        100%    5     7.2KB/s   00:00

image.png

三、sftp

3.1 sftp概述

使用加密技术,基于ssh,传输效率比ftp低,但是安全性更高。使用语法和ftp相同

3.2 实验

虚拟机2

[root@localhost opt]# sftp -P 10022 root@192.168.147.100
root@192.168.147.100's password: 
Connected to 192.168.147.100.
sftp> pwd
Remote working directory: /root
sftp> cd /opt
sftp> pwd
Remote working directory: /opt    
sftp> get abcd              ##下载虚拟机1中opt目录下的abcd文件
Fetching /opt/abcd to abcd
/opt/abcd                                                                      100%    5     2.4KB/s   00:00
sftp> put qwer              ##上传虚拟机2中opt目录下的qwer文件
Uploading qwer to /opt/qwer
qwer                                                                           100%    4     2.6KB/s   00:00 
sftp> exit
[root@localhost opt]# ls
123.txt  aa  abcd  backup  qwer  rh

虚拟机1

[root@localhost opt]# ls
123.txt  aa  abcd  qwer  rh

四、用户登录限制

[root@localhost /]# vim  /etc/ssh/sshd_config 
AllowUsers 用户名 (用户名@IP 限制只能从某某终端登录)
DenyUsers 用户名
:wq!
[root@localhost /]# systemctl restart sshd

五、免密登录

5.1 过程

  1. 创建秘钥对
  2. 上传公钥文件
  3. 导入公钥信息
  4. 使用密钥对验证方式

5.2 密钥种类

rsa edusa dsa

5.3 密钥两种形式

对称密钥 非对称密钥

5.4 两种加密方式

用户账户登录密码 密钥登录

5.5 rsa免密登录

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
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:7GaCEiKeooUERamzK4Gy1Dg/rRAveMhj/vx30veDs4U root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .o.             |
| ..              |
|..               |
|+      .         |
|+=+     S        |
|@B+o . .    .    |
|B%*.o . =  E..   |
|Oo=+ . * o +..   |
|o..++.. o ..+..  |
+----[SHA256]-----+
[root@localhost ~]# cd .ssh
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@localhost .ssh]# ssh-copy-id -i id_rsa.pub root@192.168.147.101
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.147.101's password: 
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'root@192.168.147.101'"
and check to make sure that only the key(s) you wanted were added.
[root@localhost .ssh]# ssh-agent bash
[root@localhost .ssh]# ssh-add
Enter passphrase for /root/.ssh/id_rsa: 
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
[root@localhost .ssh]# ssh root@192.168.147.101         //没有输入密码,实验成功
Last login: Thu May 25 00:02:54 2023 from 192.168.147.1


目录
相关文章
|
7月前
|
移动开发 监控 安全
通过SSH协议实现的屏幕局域网电脑监控:屏幕安全访问代码
随着科技的不断发展,网络安全问题愈发突出。为了确保屏幕数据的安全,我们需要一种高效可靠的监控方法。本文介绍了一种基于SSH协议的屏幕局域网电脑监控方案,同时提供了相关代码示例,确保屏幕数据的安全传输和访问。
296 0
|
关系型数据库 MySQL 网络安全
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
402 0
|
7月前
|
算法 安全 Shell
SSH:加密安全访问网络的革命性协议
SSH:加密安全访问网络的革命性协议
197 9
|
4月前
|
运维 安全 网络安全
"革新远程访问体验:Docker化部署webssh2,一键启动Web SSH客户端,让远程管理如虎添翼!"
【8月更文挑战第2天】Docker作为软件开发与运维的关键工具,以其轻量级、可移植及强隔离特性简化了应用部署。结合webssh2这一开源Web SSH客户端,可通过浏览器安全便捷地访问SSH服务器,无需额外软件。首先确保已安装Docker,接着拉取webssh2镜像并运行容器,映射端口以便外部访问。配置好SSH服务器后,通过浏览器访问指定URL即可开始SSH会话。此方案不仅提升了用户体验,还加强了访问控制与系统安全。
345 7
|
7月前
|
安全 Linux 网络安全
SSH 简介:安全远程访问的利器
SSH是加密网络协议,用于安全远程登录和数据传输。它基于公钥和私钥验证,加密传输确保通信安全。默认使用22端口。在Linux和macOS系统上预装,Windows需额外安装。基本用法包括远程登录(ssh username@hostname)、文件传输(scp source destination)和端口转发。推荐使用密钥对认证,限制登录尝试次数,并配置SSH代理以增强安全性。了解这些基础和技巧能提升远程服务器管理和文件传输效率。
SSH 简介:安全远程访问的利器
|
7月前
|
机器学习/深度学习 Linux 网络安全
ssh远程访问windows系统下的jupyterlab
ssh远程访问windows系统下的jupyterlab
135 3
|
7月前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
78 1
|
7月前
|
存储 网络协议 Linux
如何使用内网穿透工具实现远程SSH访问Deepin系统
如何使用内网穿透工具实现远程SSH访问Deepin系统
|
7月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
463 2
|
7月前
|
监控 安全 网络安全
局域网管理监控的远程访问控制:利用SSH和Python实现安全管理
在当今数字化时代,局域网管理监控对于确保网络安全至关重要。远程访问控制是一项关键任务,通过利用SSH(Secure Shell)和Python编程语言,我们可以实现更加安全的管理方法。本文将介绍如何使用这两者结合,为局域网管理提供可靠的远程访问控制。
298 1