SSH & auto login

python3.7使用paramiko包连接远程主机报错:paramiko.ssh_exception.SSHException: could not get keys from ssh-agent 阅读详情

Copy From: https://help.ubuntu.com/community/SSH/OpenSSH/Keys

Public and Private Keys

 

If your SSH server is visible over the Internet, you should use public key authentication instead of passwords if at all possible. If you don't think it's important, try logging all of the malicious login attempts you get for the next week. My computer - a perfectly ordinary desktop PC - had over 4,000 attempts to guess my password and almost 2,500 break-in attempts in the last week alone. How many thousand random guesses do you think it will take before an attacker stumbles across your password?

With public key authentication, every computer has a public and a private "key" (a large number with particular mathematical properties). The private key is kept on the computer you log in from, while the public key is stored on the .ssh/authorized_keys file on all the computers you want to log in to. When you log in to a computer, the SSH server uses the public key to "lock" messages in a way that can only be "unlocked" by your private key - this means that even the most resourceful attacker can't snoop on, or interfere with, your session. As an extra security measure, most SSH programs store the private key in a passphrase-protected format, so that if your computer is stolen or broken in to, you should have enough time to disable your old public key before they break the passphrase and start using your key. Wikipedia has a more detailed explanation of how keys work.

Public key authentication is a much better solution than passwords for most people. In fact, if you don't mind leaving a private key unprotected on your hard disk, you can even use keys to do secure automatic log-ins - as part of a network backup, for example. Different SSH programs generate public keys in different ways, but they all generate public keys in a similar format:

 

<ssh-rsa or ssh-dss> <really long string of nonsense> <username>@<host>

 

 

Key-Based SSH Logins

 

Key-based authentication is the most secure of several modes of authentication usable with OpenSSH, such as plain password (the default with Ubuntu) and Kerberos tickets. Key-based authentication has several advantages over password authentication, for example the key values are significantly more difficult to brute-force, or guess than plain passwords, provided an ample key length. Other authentication methods are only used in very specific situations.

SSH can use either "RSA" (Rivest-Shamir-Adleman) or "DSA" ("Digital Signature Algorithm") keys. Both of these were considered state-of-the-art algorithms when SSH was invented, but DSA has come to be seen as less secure in recent years. RSA is the only recommended choice for new keys, so this guide uses "RSA key" and "SSH key" interchangeably.

Key-based authentication uses two keys, one "public" key that anyone is allowed to see, and another "private" key that only the owner is allowed to see. To securely communicate using key-based authentication, you need to create a public key for the computer you're logging in from, and securely transmit it to the computer you're logging in to. Wikipedia has a good explanation of the theory

Using key based logins with ssh is generally considered more secure than using plain password logins. This section of the guide will explain the process of generating a set of public/private RSA keys, and using them for logging into your Ubuntu computer(s) via OpenSSH.

 

Generating RSA Keys

 

The first step involves creating a set of RSA keys for use in authentication.

This should be done on the client.

To create your public and private SSH keys on the command-line:

 

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

 

You will be prompted for a location to save the keys, and a passphrase for the keys. This passphrase will protect your private key while it's stored on the hard drive and be required to use the keys every time you need to login to a key-based system:

 

Generating public/private rsa key pair.
Enter file in which to save the key (/home/b/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/b/.ssh/id_rsa.
Your public key has been saved in /home/b/.ssh/id_rsa.pub.

 

Your public key is now available as .ssh/id_rsa.pub in your home folder.

Congratulations! You now have a set of keys. Now it's time to make your systems allow you to login with them

 

Choosing a good passphrase

 

Just like with physical keys, you need to change all your locks if your RSA key is stolen. Otherwise, your thief will be able to get access to all your stuff.

An SSH key passphrase is a secondary form of security that gives you a little time when your keys are stolen. If your RSA key has a strong passphrase, it might take your attacker a few hours to guess by brute force. That extra time should be enough to log in to any computers you have an account on, delete your old key from the .ssh/authorized_keys file, and add a new key.

Your SSH key passphrase is only used to protect your private key from thieves. It's never transmitted over the Internet, and the strength of your key has nothing to do with the strength of your passphrase.

You have to choose for yourself whether to use a passphrase with your RSA key. Ultimately, it's a choice between cursing the difficulty every time you have to type it in, or cursing your glibness when someone logs in to all your accounts and changes your password so you can't get in any more.

If you choose to use a passphrase, pick something strong and write it down on a piece of paper that you keep in a safe place. If you choose not to use a password, just press the return key without typing a password - you'll never be asked for one again.

 

Key Encryption Level

 

Note: The default is a 2048 bit key. You can increase this to 4096 bits with the -b flag (Increasing the bits makes it harder to crack the key by brute force methods).

 

ssh-keygen -t rsa -b 4096

 

 

Password Authentication

 

The main problem with public key authentication is that you need a secure way of getting the public key onto a computer before you can log in with it. If you will only ever use an SSH key to log in to your own computer from a few other computers (such as logging in to your PC from your laptop), you should copy your SSH keys over on a memory stick, and disable password authentication altogether. If you would like to log in from other computers from time to time (such as a friend's PC), make sure you have a strong password.

 

Transfer Client Key to Host

 

The key you need to transfer to the host is the public one. If you can log in to a computer over SSH using a password, you can transfer your RSA key by doing the following from your own computer:

 

ssh-copy-id <username>@<host>

 

Where <username> and <host> should be replaced by your username and the name of the computer you're transferring your key to.

{i} Due to this bug, you cannot specify a port other than the standard port 22. You can work around this by issuing the command like this: ssh-copy-id "<username>@<host> -p <port_nr>". If you are using the standard port 22, you can ignore this tip.

You can make sure this worked by doing:

 

ssh <username>@<host>

 

You should be prompted for the passphrase for your key:

Enter passphrase for key '/home/<user>/.ssh/id_rsa':

 

Enter your passphrase, and provided host is configured to allow key-based logins, you should then be logged in as usual.

 

Troubleshooting

 

 

Encrypted Home Directory

 

If you have an encrypted home directory, SSH cannot access your authorized_keys file because it is inside your encrypted home directory and won't be available until after you are authenticated. Therefore, SSH will default to password authentication.

To solve this, create a folder outside your home named /etc/ssh/<username> (replace "<username>" with your actual username). This directory should have 755 permissions and be owned by the user. Move the authorized_keys file into it. The authorized_keys file should have 644 premissions and be owned by the user.

Then edit your /etc/ssh/sshd_config and add:

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys

 

Finally, restart ssh with:

sudo service ssh restart

 

The next time you connect with SSH you should not have to enter your password.

 

username@host's password:

 

If you are not prompted for the passphrase, and instead get just the

username@host's password:

 

prompt as usual with password logins, then read on. There are a few things which could prevent this from working as easily as demonstrated above. On default Ubuntu installs however, the above examples should work. If not, then check the following condition, as it is the most frequent cause:

On the host computer, ensure that the /etc/ssh/sshd_config contains the following lines, and that they are uncommented;

 

PubkeyAuthentication yes
RSAAuthentication yes

 

If not, add them, or uncomment them, restart OpenSSH, and try logging in again. If you get the passphrase prompt now, then congratulations, you're logging in with a key!

 

Permission denied (publickey)

 

If you're sure you've correctly configured sshd_config, copied your ID, and have your private key in the .ssh directory, and still getting this error:

Permission denied (publickey).

 

Chances are, your /home/<user> or ~/.ssh/authorized_keys permissions are too open by OpenSSH standards. You can get rid of this problem by issuing the following commands:

 

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

 

 

Debugging and sorting out further problems

 

The permissions of files and folders is crucial to this working. You can get debugging information from both the client and server.

if you think you have set it up correctly , yet still get asked for the password, try starting the server with debugging output to the terminal.

 

sudo /usr/sbin/sshd -d

 

To connect and send information to the client terminal

 

ssh -v ( or -vv) username@host's

 

 

Where to From Here?

 

No matter how your public key was generated, you can add it to your Ubuntu system by opening the file .ssh/authorized_keys in your favourite text editor and adding the key to the bottom of the file. You can also limit the SSH features that the key can use, such as disallowing port-forwarding or only allowing a specific command to be run. This is done by adding "options" before the SSH key, on the same line in the authorized_keys file. For example, if you maintain a CVS repository, you could add a line like this:

 

command="/usr/bin/cvs server",no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh-dss <string of nonsense>...

 

When the user with the specified key logged in, the server would automatically run /usr/bin/cvs server, ignoring any requests from the client to run another command such as a shell. For more information, see the sshd man page. /755

Linux会话自动注销问题深度解析:从TMOUT到SSH保活与tmux解决方案 在Linux系统管理与运维中,会话超时自动注销是一个常见且影响工作效率的问题。其核心原理涉及Shell环境变量与终端会话管理机制,特别是TMOUT变量,它定义了交互式Shell在无输入情况下的超时时间。从技术价值看,这既是系统安全策略的一部分,防止未授权访问,也是资源管理的手段。在实际应用场景中,开发者和运维人员常通过SSH连接远程服务器进行长时间任务,如编译、部署或监控,此时会话意外断开可能导致进程终止。为解决这一问题,需要深入理解TMOUT的配置位置、SSH的ClientAliveInterval保活机 阅读详情

相关推荐

VS Code Remote-SSH 原理与工程化配置指南

Remote-SSH 不是简单的远程终端连接,而是一种将 VS Code 编辑器运行时(含语言服务、调试器、扩展系统)完整迁移至远程服务器的分布式开发架构。其核心基于 SSH 协议构建高可靠通信隧道,依赖服务器端系统环境、密钥认证、进程隔离与文件系统兼容性等底层支撑。技术价值在于实现跨设备一致的本地化开发体验,尤其适用于 Python 和 C# 等需强环境耦合的工程场景。典型应用包括云服务器开发、GPU 计算集群编程、企业内网安全编码等。本文聚焦 vscode 连接 ssh 远程服务器 的真实落地难点,覆盖

weixin_34013044的博客 419

SSH OpenSSH Keys

Copy From: https://help.ubuntu.com/community/SSH/OpenSSH/KeysPublic and Private Keys<br /> <br />If your SSH server is visible over the Internet, you should use public key authentication instead of passwords if at all possible. If you don't think it's impo

jackie_gnu的专栏 1163

Ubuntu 20.04 SSH密钥配置:ed25519、权限控制与VS Code远程开发实战

SSH密钥认证是Linux系统身份验证的基础机制,其核心原理是基于非对称加密的挑战-响应式验签,相比密码认证显著缩小攻击面并支撑自动化流程。在Ubuntu 20.04这一广泛使用的LTS版本中,OpenSSH 8.2p1原生支持高性能、高安全的ed25519算法,配合严格的文件权限校验(如~/.ssh目录700、私钥600),构成可信信道的底层保障。该机制直接赋能git配置ssh密钥、vscode ssh远程开发等高频场景,实现免密登录、多环境隔离与审计可追溯。本文聚焦Ubuntu 20.04特有的配置细节

weixin_30608503的博客 413

【全网最详细的Centos系统中从OpenSSH_7.4p1升级到OpenSSH_9.3p1,无需备份文件,直接干,坑已填满,亲测无问题,所需软件包都上传百度网盘】

获取OpenSSH软件包 ,链接:https://pan.baidu.com/s/16W3LIRBnB1kPbi7aZc32Og?pwd=U6SD提取码:U6SD期间踩了很多坑,特别是安装配置openssl文件的时候,一开始由于我当时版本太高了,导致很多错误,后面参考其他博客的相关文章,终于确认了openssl'的版本,并正常显示了openssl的版本,这篇文章亲测没有问题,特此记录一下,希望能帮忙到大家。

追求诗和远方的路上 1570

Xshell8深度部署指南:SSH终端稳定性与国产化适配实战

SSH终端是Linux远程管理的基础交互入口,其核心价值在于连接稳定性、键盘响应实时性、多会话隔离能力及协议兼容性。Xshell8凭借自研NetSshCore引擎,在TCP调优、密钥协商降级、中文粘贴逻辑等工程细节上持续优化,显著提升高并发、弱网、信创环境下的操作确定性。相比Web SSH或VS Code Remote-SSH等现代方案,它更擅长保障底层交互质感——尤其在Proxmox、Kali、统信UOS等混合终端场景中,成为运维人员首选的‘手感型’工具。本文聚焦Xshell8 8.0+版本的生产级部署实

csdn864883的博客 356

Linux服务器迁移前系统准备:SSH与systemctl深度检查指南

Linux服务器迁移不是简单的文件复制,而是系统状态的一致性保障工程。其核心在于迁移前的系统准备(System Preparation),涉及SSH通道可靠性、systemctl服务依赖完整性、内核与硬件抽象层兼容性三大技术维度。SSH不仅是远程访问工具,更是自动化迁移的生命线,需验证协议兼容性、密钥指纹、配置文件全路径加载;systemctl作为现代Linux服务管理中枢,要求显式导出依赖树、校验启动状态与资源限制,避免‘能启不能用’。这些准备动作直接决定迁移是否可回滚、可审计、可凌晨安全切流,是中级运维

weixin_33713707的博客 356

SUSE-Xshell连接不到SUSE服务器

Xshell连接不到SUSE服务器(能Ping通但登录不上),执行以下命令再试: cd /etc/ssh ls vi sshd_config(输入/查找内容): PermitRootLogin yes PasswordAuthentication yes

BoomJane的专栏 3502

Ubuntu VNC配置指南:绕过Wayland限制的三种实战方案

VNC(Virtual Network Computing)是一种基于RFB协议的远程图形桌面技术,其核心原理是通过网络传输屏幕像素流与输入事件,在客户端实时渲染远端桌面。在Linux生态中,VNC依赖X11显示协议栈,而现代Ubuntu(22.04+)默认启用Wayland——一种安全优先、不支持传统屏幕抓取的显示服务器,导致多数VNC工具失效。这一架构差异构成了典型的技术冲突点,也是用户‘装了连不上’‘连上是灰屏’的根本原因。因此,真正有效的VNC实践必须回归底层:或为Ubuntu Server构建独立

ainixi7099的博客 405

OpenSSH 密钥管理,第 3 部分

通用线程: OpenSSH 密钥管理,第 3 部分 代理程序转发和 keychain 改进  

思 1197

重头开始学ROS(8)---LVI-SAM复现与实机部署Ubuntu20.04以及如何适配6轴imu

本文详细记录了在Ubuntu20.04环境下复现LVI-SLAM系统的过程,主要包含四个部分:源码编译、问题解决、数据录制和6轴IMU适配。在编译过程中遇到GTSAM、PCL版本、OpenCV路径等典型问题并给出解决方案;详细说明了ROS bag包的录制规范;针对6轴IMU硬件限制,提供了核心代码修改方案。文章为LVI-SLAM系统在非标准环境下的部署提供了实用参考,特别适合需要适配不同硬件配置的研究者。

qq_73991479的博客 1558

lerobot VLA--SmolVLA代码的讲解

2.图像resize至正方形224x224,图像长宽比不变,其他区域用黑色补充,标记为mask=1,若占位图像(摄像头缺失),则 创建全-1像素的占位图像 标记为mask=0,image为[1, 3, 512, 512],img_mask为True,masks列表长度为2,img_masks为2,因为我这里两个相机。文本嵌入:通过embed_language_tokens() 被转换为嵌入表示,lang_emb 是语言的嵌入,包含了语言的语法和语义信息。1.像素值[0,1]->[-1,1]

caokaifa的博客 4066

SSH 远程管理工具

一、概述ssh服务,一种远程管理连接工具,在CentOS7系统中默认安装并开机自启的。SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。监听tcp的22号端口。软件包名称:openssh配置文件目录:/etc/ssh,sshd_config 服务端配置文件;ssh_config 客户端配置文件。客户端提供:ssh、scp、sftp命令服务端提供:sftp服务、ssh服务二、 配置文件服务端配置文件: sshd_config。

Xyz996_的博客 617

从.bib到.bbl:手把手教你搞定LaTeX参考文献的完整流程

本文详细介绍了从.bib到.bbl的LaTeX参考文献处理完整流程,包括文献数据库构建、样式选择、主文档配置、编译流程及问题排查。特别针对.bib、.bbl等文件的操作提供了实战解决方案,帮助用户高效管理学术文献引用,适用于各类学术写作场景。

weixin_29292431的博客 285

sshAutoLogin | ssh管理工具

sshAutoLogin It can make your ssh login simply as well as efficiently on Mac or Linux. we are frequently using ssh login remote server by terminal....

chouman5230的博客 366

MT6816磁编码器在无人机电调中的实战应用:从选型到调试全记录

本文详细介绍了MT6816磁编码器在无人机电调系统中的实战应用,涵盖选型、硬件集成、软件配置到飞行测试的全流程。通过对比霍尔传感器和光电编码器,突出MT6816在角度分辨率、安装公差和抗振动能力等方面的优势,为无人机动力系统提供高精度控制解决方案。

pandas7gardener的博客 234

手把手教你用芯驰X9HP驱动MAX96755/MAX96752点亮智能座舱仪表屏(附完整寄存器配置表)

本文详细介绍了如何使用芯驰X9HP驱动MAX96755/MAX96752实现智能座舱仪表屏的完整开发流程,包括硬件架构解析、关键寄存器配置、Linux BSP集成及调试技巧。通过实战指南和完整寄存器配置表,帮助开发者快速掌握驱动开发核心技术,提升智能座舱系统的显示性能与稳定性。

weixin_30879169的博客 526

linux 命令:scp (pscp)、rz/sz、nc (netcat)、ncat、socat、ssh、端口转发(rinetd)

NC 全名 Netcat (网络刀),作者是 Hobbit && ChrisWysopal。因其功能十分强大,体积小巧而出名,被誉为网络安全界的 "瑞士军刀"。Netcat 使用 TCP 或 UDP 协议的网络连接去读写数据。Netcat 也是稳定的后门工具、功能强大的网络调试和探测工具。能够直接由其它程序和脚本轻松驱动。能够建立几乎所有类型的网络连接。在中国NC 的 WINDOWS版有两个版本,一个是原创者Chris Wysopal写的原版本,另一个是由 "红与黑" 编译后的新浓缩版。.........

freeking101的博客 3万+

Nuclei漏洞扫描:从零到精通的Windows实战指南

本文详细介绍了Nuclei漏洞扫描工具在Windows平台上的安装与使用教程,从基础安装到高级实战技巧全面覆盖。通过具体案例展示如何利用Nuclei的模板库快速检测常见漏洞,并提供自定义POC开发指南,帮助安全从业者高效开展漏洞扫描工作。

weixin_28683689的博客 249

IntelliJ IDEA 2016.1.2 + Spring + Struts2 + Hibernate (Ssh) 搭建 附Login实例

转载出处:http://blog.lunhui.ren/archives/225 准备: 1. IntelliJ IDEA 2016.1.2, jdk, tomcat   下载地址 http://pan.baidu.com/s/1gfwKmJ5 2. IntelliJ IDEA 2016.1.2, jdk这两个东西都可以一键傻瓜式安装, tomcat 我直接解压到d盘

cj_to_niu 826

12306自动抢票系统:基于DrissionPage的智能购票实战

摘要:本文介绍了一个基于DrissionPage的12306自动抢票系统实现方案。该系统通过模拟真实用户操作,实现了车票查询、登录认证、座位选择和订单提交的全流程自动化。项目采用DrissionPage库替代传统Selenium方案,具有更简洁的API设计和更好的性能表现。核心技术包括数据包监听、动作链模拟和反爬虫应对策略,实现了高效可靠的车票抢购功能。系统包含完整的业务流程设计,从环境初始化到最终订单提交,并提供了清晰的数据展示界面。本文强调该项目仅用于技术研究,在实际使用中应严格遵守12306平台规则

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 2789

【MATLAB】嵌入式PID控制参数整定与优化

本文提出了一种基于MATLAB仿真的嵌入式PID参数优化方法,解决了传统人工试凑法效率低、适应性差的问题。通过建立一阶滞后被控对象模型,对比分析了不同PID参数组合的性能表现,筛选出最优参数。仿真结果表明,优化后的PID参数能有效降低超调量(从传统方法的显著超调降至接近0%),缩短调节时间,提高稳态精度。最终将优化算法部署到STM32平台,实现了"仿真整定-参数优化-嵌入式落地"的完整开发流程。该方法显著提升了嵌入式系统的响应速度和控制精度,为工业控制应用提供了标准化解决方案。

unber的博客 45

Linux系统管理实践:负载监控、服务控制与SSH配置

开发服务流程:1. 准备服务程序 /usr/local/bin/study2. 准备服务配置文件 /etc/systemd/system/studyd.service (程序后面的d,daemon,守护称呼)3. 通知systemd 变化 systemctl daemon-reload4. 激活服务 sudo systemctl enable studyd(systemctl enable studyd --now -- #cenos8版本以上)

Kismet_nvi的博客 582

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SSH、日志、定时任务、NFS、iSCSI 存储完整实验手册

本文以两台CentOS7虚拟机为实验环境,整合Linux运维核心实操内容,涵盖SSH远程连接排错、密钥免密登录与安全加固;rsyslog、journalctl日志查看、持久化及集中日志部署;at、crontab定时任务配置与权限管控;NFS文件共享、autofs自动挂载;iSCSI块存储搭建与启动故障修复,清晰区分NAS与SAN存储。每条命令附带详细注释与排错思路,流程完整清晰,适合运维入门学习与上机实训,覆盖远程管理、日志审计、定时运维、网络存储四大核心场景

2401_84291419的博客 209

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Linux】SSH 服务移植与问题排查全记录

SSH服务移植与问题排查摘要(150字) 本文记录了在i.MX6UL开发板(Ubuntu 20.04)上移植SSH服务的完整过程。通过apt安装openssh-server后,解决了四大核心问题:1)创建缺失的/run/sshd目录并设置开机自动生成;2)挂载devpts伪终端;3)配置root登录权限及密码;4)修复终端乱码问题。针对BusyBox init环境,通过修改/etc/inittab实现服务自启。文章还提供了交叉编译OpenSSH的附录(需先编译OpenSSL和zlib),并总结了常见错误速查

qq_44704780的博客 248

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CVE-2026-5027 | Langflow路径遍历→未授权RCE:当AI工作流的文件访问没有边界

第一,它太简单了。路径遍历是Web安全的基础知识,OSCP认证考试里都有。但就是这么一个"低级"漏洞,存在于一个GitHub 15万星、IBM背书的企业级AI平台里,而且默认配置下无需认证即可利用。这说明AI框架的安全成熟度和它们的流行度严重不匹配。第二,它不是孤例。从CVE-2025-34291被伊朗APT武器化,到CVE-2026-33017披露20小时即被扫描利用,再到CVE-2026-5027的7000台暴露实例,Langflow在2026年几乎成了攻击者的提款机。

qq_37940081的博客 632
上一篇: SSH & auto login
下一篇: resume english
jackie_gnu
博客等级 码龄16年 3粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值