首页
壁纸
友情
关于
统计
推荐
Search
1
通过华为交换机的辅助,增加“ikuai爱快软路由”wan的线路
1,677 阅读
2
华为S5700交换机升级记录
1,372 阅读
3
小米AC2100(红米ac2100)刷写Breed不死固件
1,058 阅读
4
酷我音乐豪华VIP版 | 电脑版
1,040 阅读
5
nginx“高逼格” 帮你快速隐藏php后缀名
973 阅读
食用技巧
食用软件
通信技术
交换机
软路由
网络技术
编程技术
Python学习
C学习
WEB学习
C++学习
Python基础
Python爬虫知识
蓝桥杯省赛训练题
前端学习
后端学习
PHP学习
Linux
华为Datacom
IPv4技术
登录
Search
标签搜索
linux
Python
酷我音乐
Docker
第一篇文章
交换机技术
Joe
华为交换机
PHP
开机自启
爬虫
正则
Ubuntu
搭建教程
csv
数据分析
IP
加密
WAF的拦截
html
Jayson
累计撰写
33
篇文章
累计收到
2
条评论
首页
栏目
食用技巧
食用软件
通信技术
交换机
软路由
网络技术
编程技术
Python学习
C学习
WEB学习
C++学习
Python基础
Python爬虫知识
蓝桥杯省赛训练题
前端学习
后端学习
PHP学习
Linux
华为Datacom
IPv4技术
页面
壁纸
友情
关于
统计
推荐
搜索到
4
篇与
的结果
2025-12-09
告别密码!SSH 密钥登录配置,一步解锁高效安全连接
SSH 密钥登录指南一、为什么使用 SSH 密钥登录?传统密码登录存在两大痛点:密码容易泄露、被暴力破解(尤其是弱密码)每次登录需重复输入密码,效率低下(比如频繁连接服务器、推送代码)而 SSH 密钥登录基于非对称加密算法(公钥 + 私钥),优势明显:✅ 安全性更高:私钥仅保存在本地,公钥可公开传输,破解难度极大✅ 免密登录:配置后无需输入密码,直接连接✅ 多场景适用:服务器(Linux/Windows Server)、代码仓库(Gitea/GitHub/GitLab)、云服务等均支持二、核心概念:公钥与私钥私钥(Private Key):相当于「个人身份证」,需妥善保管在本地(如电脑),绝对不能泄露公钥(Public Key):相当于「身份证复印件」,可上传到服务器、代码平台等目标设备登录原理:本地用私钥加密验证信息,目标设备用公钥解密,匹配成功则允许登录。三、分步配置:从生成密钥到登录前提条件本地设备:安装 Git(自带 SSH 工具)或单独安装 OpenSSH(Windows 10/11 可通过「设置→应用→可选功能」安装)目标设备:开启 SSH 服务(服务器默认开启,代码平台无需手动配置)第一步:生成 SSH 密钥对(本地操作)打开终端 / 命令行(Windows 用 Git Bash、PowerShell 均可)执行生成命令(推荐 ed25519 算法,安全性更高;若系统不支持,改用 rsa 算法):# 推荐:ed25519 算法(密钥文件更小、更安全) ssh-keygen -t ed25519 -C "你的备注信息(如邮箱、设备名)" # 兼容旧系统:rsa 算法(4096 位加密) ssh-keygen -t rsa -b 4096 -C "你的备注信息"执行后按 3 次回车(无需设置密码,若需更高安全可设置密钥密码):第一次回车:确认密钥保存路径(默认 ~/.ssh/,Windows 为 C:\Users\你的用户名.ssh\)第二次 / 第三次回车:跳过设置密钥密码(输入则每次使用密钥需验证密码)生成成功后,~/.ssh/ 目录下会出现两个文件:私钥:id_ed25519(或 id_rsa)→ 本地保管,切勿泄露公钥:id_ed25519.pub(或 id_rsa.pub)→ 需上传到目标设备第二步:上传公钥到目标设备(以 2 种常见场景为例)场景 1:登录 Linux 服务器(如阿里云、腾讯云 EC2)查看并复制本地公钥内容:# Windows/Mac/Linux 通用命令(复制输出的全部内容) cat ~/.ssh/id_ed25519.pub输出示例(以 ed25519 为例):ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKZ4k1y8zHxq6jV6Xr+Q9q6G9fW5a7v8e9x3y7z1o2p3q4r5s6t7u8v9w0x your-email@example.com上传公钥到服务器(两种方式,选其一):方式 A:手动上传(适合新手)① 用密码登录服务器:ssh 用户名@服务器IP(如 ssh root@123.45.67.89)② 在服务器上创建 .ssh 目录(若已存在则跳过):mkdir -p ~/.ssh && chmod 700 ~/.ssh③ 编辑 authorized_keys 文件(存储公钥的核心文件):vi ~/.ssh/authorized_keys④ 按 i 进入编辑模式,粘贴本地复制的公钥,按 Esc 后输入 :wq 保存退出⑤ 设置文件权限(关键!否则 SSH 会拒绝读取):chmod 600 ~/.ssh/authorized_keys方式 B:一行命令上传(高效)本地终端执行(无需先登录服务器):ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器IP按提示输入服务器密码,即可自动完成公钥上传和权限配置。场景 2:连接 Gitea/GitHub(代码仓库免密推送)复制本地公钥内容(同场景 1 第一步)登录 Gitea/GitHub,进入密钥配置页:Gitea:右上角头像 → Settings → 左侧 SSH / GPG Keys → Add KeyGitHub:右上角头像 → Settings → SSH and GPG keys → New SSH key粘贴公钥内容,填写密钥名称(如「我的笔记本」),点击「添加」即可第三步:测试 SSH 密钥登录终端执行登录命令(根据场景选择):服务器:ssh 用户名@服务器IP(如 ssh root@123.45.67.89)Gitea:ssh -T git@你的Gitea地址(如 ssh -T git@gitea.example.com)GitHub:ssh -T git@github.com成功标志:服务器:直接登录到命令行,无需输入密码Gitea/GitHub:提示 Hi 你的用户名! You've successfully authenticated...四、进阶优化:提升安全性与便捷性1. 禁用服务器密码登录(推荐)配置密钥登录后,禁用密码登录可彻底防止暴力破解:登录服务器,编辑 SSH 配置文件:vi /etc/ssh/sshd_config修改以下参数(去掉注释并设置为对应值):PasswordAuthentication no # 禁用密码登录 PubkeyAuthentication yes # 启用公钥登录 PermitRootLogin prohibit-password # 禁止 root 密码登录(仅允许密钥)重启 SSH 服务生效:# Ubuntu/Debian sudo systemctl restart sshd # CentOS/RHEL sudo systemctl restart sshd # 旧系统(如 CentOS 6) sudo service sshd restart2. 配置别名登录(避免记忆 IP / 用户名)每次输入 ssh root@123.45.67.89 麻烦?可配置别名:本地编辑 SSH 配置文件:vi ~/.ssh/config添加以下内容(按需修改):# 服务器别名配置(示例) Host my-server # 别名(可自定义,如 server1、aliyun) HostName 123.45.67.89 # 服务器 IP 或域名 User root # 登录用户名 IdentityFile ~/.ssh/id_ed25519 # 私钥路径(默认可省略) # Gitea 别名(可选) Host my-gitea HostName gitea.example.com User git IdentityFile ~/.ssh/id_ed25519保存后,直接用别名登录:ssh my-server # 等价于 ssh root@123.45.67.89五、常见问题排查1. 登录提示「Permission denied (publickey)」可能原因及解决方案:原因 1:公钥未正确上传到目标设备的 authorized_keys 文件解决:重新上传公钥,确保内容完整(无多余空格、换行)原因 2:服务器 ~/.ssh 或 authorized_keys 权限过高解决:重新设置权限(参考场景 1 步骤 2 方式 A 第 5 步)原因 3:私钥路径错误或权限过高(本地)解决:私钥权限需设为 600:chmod 600 ~/.ssh/id_ed255192. Windows 提示「ssh: command not found」解决:安装 Git(自带 SSH 工具),或在「设置→应用→可选功能」中安装「OpenSSH 客户端」3. 密钥丢失 / 泄露怎么办?私钥泄露:立即删除目标设备(服务器、Gitea 等)上对应的公钥,重新生成新的密钥对并上传私钥丢失:无法恢复,重新生成密钥对并上传公钥到目标设备
2025年12月09日
54 阅读
0 评论
0 点赞
linux设置开机自启动
2022年09月16日
395 阅读
0 评论
0 点赞
2022-09-16
简介linux设置开机自启动的方法我简单说两种,一种是在rc.local添加,另一种是init.d文件里添加。这样就不用老是重启服务器的时候再重新运行程序,导致网站的某些功能用不了了!!linux设置开机自启动的方法:1. rc.local文件中添加自启动命令1. 执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令 2. 运行程序脚本:然后在文件最后一行添加要执行程序的全路径。 3. 例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh " '注意,你的命令应该添加在:exit 0 之前'2. 在/etc/init.d目录下添加自启动脚本linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。
2021-10-05
Linux常用命令收集
一、基本命令1.1 关机和重启关机 shutdown -h now 立刻关机 shutdown -h 5 5分钟后关机 poweroff 立刻关机重启shutdown -r now 立刻重启 shutdown -r 5 5分钟后重启 reboot 立刻重启1.2 帮助命令--help命令shutdown --help: ifconfig --help:查看网卡信息man命令(命令说明书)man shutdown注意:man shutdown打开命令说明书之后,使用按键q退出二、目录操作命令2.1 目录切换 cd命令:cd 目录cd / 切换到根目录cd /usr 切换到根目录下的usr目录cd ../ 切换到上一级目录 或者 cd ..cd ~ 切换到home目录cd - 切换到上次访问的目录2.2 目录查看 ls [-al]命令:ls [-al]ls 查看当前目录下的所有目录和文件ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)ls /dir 查看指定目录下的所有目录和文件 如:ls /usr2.3 目录操作【增,删,改,查】2.3.1 创建目录【增】 mkdir命令:mkdir 目录mkdir aaa 在当前目录下创建一个名为aaa的目录mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录2.3.2 删除目录或文件【删】rm命令:rm [-rf] 目录删除文件:rm 文件 删除当前目录下的文件rm -f 文件 删除当前目录的的文件(不询问)删除目录:rm -r aaa 递归删除当前目录下的aaa目录rm -rf aaa 递归删除当前目录下的aaa目录(不询问)全部删除:rm -rf * 将当前目录下的所有目录和文件全部删除rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包2.3.3 目录修改【改】mv 和 cp一、重命名目录命令:mv 当前目录 新目录例如:mv aaa bbb 将目录aaa改为bbb 注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行重命名的操作二、剪切目录命令:mv 目录名称 目录的新位置示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作三、拷贝目录命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不用写-r递归2.3.4 搜索目录【查】find命令:find 目录 参数 文件名称示例:find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件三、文件操作命令3.1 文件操作【增,删,改,查】3.1.1 新建文件【增】touch命令:touch 文件名示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt3.1.2 删除文件 【删】 rm命令:rm -rf 文件名
2021年10月05日
577 阅读
0 评论
0 点赞
2021-10-04
Linux Centos 7如何设置代理连接?
前言linux如何设置代理连接呢?这里我只要简单几步就能完成配置,有手就行,非常基础!这里三种配置代理,在这里我一一说明,请看教程!开始一 ,为系统设置代理(相当于全局代理)这里我们要添加几行代码到一个“etc”文件夹文件里编辑文件路径: /etc/profile 操作如下:vi /etc/profile //通过vi文件编辑器打开profile文件 #添加代码,修改一下的代理地址和代理端口 export http_proxy=http://(代理地址):(代理端口)/ export https_proxy=http://(代理地址):(代理端口)/ #添加完后,进行更新环境文件 source /etc/profile二 ,为yum配置代理这里我们继续在"etc”文件夹里面进行修改,这次我们修改的文件为yum.conf还是老样子:vi /etc/yum.conf //通过vi文件编辑器打开yum.conf文件 #添加代码,修改一下的代理地址和代理端口 export http_proxy=http://(代理地址):(代理端口)/ #如果需要验证登录的话需要添加一下代码: proxy_username="代理服务器用户名" proxy_password="代理服务器密码" #添加完后,进行更新环境文件 source /etc/yum.conf三 ,为wget配置代理这里依旧还是源目录“etc”文件夹里,这里我们修改的文件是wgetrc还还还是老样子:vi /etc/wgetrc //通过vi文件编辑器打开wgetrc文件 #添加代码,修改一下的代理地址和代理端口 export http_proxy=http://(代理地址):(代理端口)/ export https_proxy=http://(代理地址):(代理端口)/ #添加完后,进行更新环境文件 source /etc/wgetrc教程结束
2021年10月04日
450 阅读
0 评论
0 点赞