ssh远程管理服务

什么是ssh

SSH是一种加密的网络协议,用于在不安全的网络中安全地传输数据。它允许用户通过一个安全的通道连接到远程计算机,并在该通道上执行各种网络服务,例如远程登录和文件传输。
SSH使用公钥加密技术来验证远程计算机的身份,并使用对称加密技术来保护数据传输的机密性

telnet与ssh的区别:

telnet:不安全,没有对传输数据进行加密,容易被监听,还有遭受中间人攻击,telnet不能压缩传输数据,所以传输慢
ssh:对数据进行了加密,安全度高,ssh传输数据经过压缩,所以传输速度比较快

配置秘钥

1.进入linux系统里家目录的.ssh目录下


root用户是/root/.ssh,普通用户是/home/您的用户名/.ssh,我们以root用户为例:

#cd .ssh #如果没有 自己创建 权限700

2.执行ssh-keygen命令创建密钥对

ssh-keygen -t rsa -b 2048

参数解析

-b 参数,指定了长度,也可以不加-b参数,直接使用ssh-keygen -t rsa


执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示呢输入密钥的密码的,不需要密码直接回车就行。

密钥生成后会在当前目录下多出两个文件,id_rsa和id_rsa.pub,其中id_rsa是私钥(敲黑板:这个很重要,不能外泄),id_rsa.pub这个是公钥

3.创建 authorized_keys 权限为600

chomd 600 authorized_keys


4.将 [公钥]累加到此文件authorized_keys 中

cat id_rsa.pub >> authorized_keys


5.修改sshd的配制文件

#vim /etc/ssh/sshd_config

  • PasswordAuthentication no 关闭密码输入 (默认yes)
​保存退出后重启sshd服务

systemctl restart sshd

设置完成后即可仅使用秘钥登录服务器

服务器中开放端口

背景说明

Centos 系统默认 ssh 连接端口是 22 ,在一些特定的条件中,22 端口被禁用或者被屏蔽,因而无法使用 22 端口进行 ssh 连接,此时把 22 端口映射为其他端口进行 ssh 连接、访问。

注:修改端口也是在sshd的配制文件当中
修改后取消注释重启sshd服务即可生效

安装ssh客户端连接

1.将id_rsa 私钥下载到本地

  • 把生成的 /root/.ssh/id_rsa 文件下载到本地电脑

修改端口以后远程连接

修改端口以后远程连接 -p 端口名 远程拷贝-P 端口名


免密互信
生成密钥对后

ssh-copy-id 对方ip #将公钥给到需要免密登录的ip

连接
# ssh -p端口 用户@IP地址 ​
改主机名

hostnamectl set-hostname 新名称

bash


查看主机名
hostname

主机名解析

vim /etc/hosts

ip+主机名

访问限制

tcppwrapper允许访问

vim /etc/hosts.allw

sshd:IP地址 #默认允许

vim /etc/hosts.deny拒绝访问

sshd:IP地址 |ALL #禁止某ip远程链接,ALL代表所有人
注:如果同个ip同时写入这两个访问限制文件中,优先识别允许

远程拷贝

scp 文件名 对方登录系统的用户名@对方ip地址:目标位置

scp 对方登录系统的用户名@对方ip地址:目标位置名称 自己计算机的目标路径

感谢观看!希望能够帮助到大家!

相关推荐
不良人天码星2 分钟前
Linux的基础指令和环境部署,项目部署实战(下)
linux·运维·服务器
卷心菜不卷Iris16 分钟前
第1章大型互联网公司的基础架构——1.9 LSM Tree
数据库·lsm-tree·互联网大厂·基础架构
杰九35 分钟前
【环境配置】maven,mysql,node.js,vue的快速配置与上手
java·vue.js·spring boot·mysql·node.js·maven
火一线1 小时前
【ASP .NET Core】ASP .NET Core介绍
服务器·游戏·.netcore
GISer_Qing1 小时前
ASP.NET Core 8.0学习笔记(二十七)——数据迁移:Migrations深入与其他迁移命令
数据库·c#·.netcore·entityframework
蓝桉8021 小时前
图片爬取案例
开发语言·数据库·python
EasyNVR1 小时前
基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案
运维·服务器·微信·小程序·webrtc·p2p·智能硬件
Ljw...1 小时前
DeepSeek+Kimi生成高质量PPT
数据库·c++·powerpoint·ppt·deepseek
m0_748240542 小时前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
生产队队长2 小时前
ThinkPHP:配置Redis并使用
android·数据库·redis