Tailscale:随时随地远程和使用服务器
Tailscale是什么?网上有时候提到tailscale,总是介绍好多,比如以下介绍,但是太官方了
Tailscale 是一种基于 WireGuard 的虚拟组网工具,和 Netmaker 类似,最大的区别在于 Tailscale 是在用户态实现了 WireGuard 协议,而 Netmaker 直接使用了内核态的 WireGuard。
这里面简单介绍一下,实际上Tailscale属于一种虚拟组网工具,基于WireGuard。简单来说他能帮助我们把安装了Tailscale服务的机器,都放到同一个局域网。比如我们的NAS或者PC,或者在其他地方的NAS和PC,甚至云服务器都能放到同一个局域网。这样就实现了一个内网穿透,有时候我们就可以随时随地远程和使用我们的服务器。
Tailscale能做什么?只需将你的设备连接到公网,Tailscale就能让所有设备加入同一个私有子网。这意味着,无论你身在何处,都可以轻松实现设备间的连接,就像它们在同一个局域网中一样。
举个例子,我的台式机和笔记本都登录了相同的Tailscale账号,它们共享一个100.64/10的子网,可以方便地互联。即使我的 ...
超赞的数字人生成知识库 Awesome-Talking-Head-Synthesis
超赞的数字人生成知识库 Awesome-Talking-Head-Synthesis, 这份资源库整理了与生成对抗网络(GAN)和神经辐射场(NeRF)相关的论文、代码和资源,重点关注基于图像和音频的虚拟讲话头合成论文及已发布代码。如果您觉得这个仓库有用,请star⭐支持!
Linux中修改用户UID和组GID的方法
我在部署nfs的时候,共享了一个文件夹。为了让远程nfs客户端挂载这个文件夹的时候都有可读写权限,我需要把服务器上的用户uid、gid设置成nfs服务端文件夹一样的权限。不过因为之前新建的用户uid、gid都是系统自动生成的,几台服务器之前某个用户的uid、gid可能都不一样,所以现在需要把这个uid、gid都设置成统一某个值。
修改用户uid和组gid的命令分别是usermod和groupmod,思路很简单。先使用usermod修改用户的uid,然后使用groupmod修改组的gid,最后使用chown和chgrp命令修改原来用户文件和目录的属主属组。例如测试用户foo和测试组foo。
1234foo old UID: 1005foo new UID: 2005foo old GID: 2000foo new GID: 3000
命令:1、修改foo用户的uid1usermod -u 2005 foo
2、修改foo组的gid1groupmod -g 3000 foo
3、foo用户的家目录下面的文件属主和属组会在1、2命令执行后自动修改成新的uid、gid对应的属主属组,但是其他文 ...
Linux 安装CUDA 及 更新CUDA
CUDA 更新先装 CUDA [下载地址],老版本的 CUDA 不用删掉,直接让管理员将 cuda 软连接到最新的 CUDA 就行了,以防有些代码需要低版本 CUDA,所以我们可以在多个CUDA版本进行切换。
再装驱动 [驱动下载地址],安装过程会提示说检测到老版本驱动,直接卸载就行了。(但是在Linux中,我们只需要安装CUDA,里面会自带驱动安装,不需要重新安装驱动)
CUDA 安装CUDA 简介CUDA 是由 Nvidia 公司开发的并行计算平台和应用程序接口,软件开发者可以利用支持 CUDA 软件的 GPU 进行通用计算。CUDA 可以直接链接到 GPU 的虚拟指令集和并行计算单元,从而在 GPU 中完成内核函数的计算。CUDA 提供 C/C++/Fortran 接口,也有许多高性能计算或深度学习库提供包装后的 Python 接口。开发者们可根据实际需要 (高性能计算, 深度学习, 神经网络等) 选择适当的编程语言。
CUDA 安装步骤一般而言,在 Linux 下安装和使用 CUDA 的流程如下:
安装 NVIDIA Driver,即显卡驱动
安装 CUDA Toolkit
...
conda和pip换源
pip换源设为默认清华源升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
12python -m pip install --upgrade pippip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:
1python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
https://blog.csdn.net/wyf2017/article/details/118676765
修改配置vim ~/.pip/pip.conf注意,这里设置的豆瓣源
12345[global]index-url = https://pypi.doubanio.com/simpletrusted-host = pypi.doubanio.com
conda换源清华源12345conda config --add channels h ...
Linux中的SSH密钥登录连接
简单两步走如果不想看那么多原理,可以简单两步走
输入以下命令
12345ssh-keygencd .sshcat id_rsa.pub >> authorized_keyschmod 600 authorized_keyschmod 700 ~/.ssh
下载对应密钥id_rsa即可,后续就可以密钥登录
设置 SSH 通过密钥登录
我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。下面来讲解如何在 Linux ...
Linux创建用户、设置密码
创建用户由于每台服务器都需要连接到 NAS,而且可能很多用户在不同的服务器上都有账号,这样的话就会导致 uid 冲突(不同服务器上不同用户的 uid 可能是一样的),因此,针对不同情况需要用到不同添加用户的方法:
该用户为新同学,说明他之前在其他服务器上没有账号,因此,先在 NAS 上为他开一个账号确保 uid 唯一性,再根据这个 uid 去其他的服务器上进行开号。
该用户在其他服务器上有账号,那就直接根据他的 uid 进行开号,无需再经过一遍 NAS。
开号方式使用命令 useradd ,默认情况下直接 useradd user1 就可以了,用户目录为 /home/user1,但是考虑到服务器硬盘容量有限,最好将其划分到具有更大空间的目录如 /data,因此使用如下命令进行自定义添加用户在服务器中,可以通过 df -h 来查看磁盘空间,默认uid和gid为同一个
12$ groupadd user1 -g [gid]$ useradd -u [uid] -g [gid] -d /data/user1 -m -s /bin/bash user1
选项
含义
-u U ...
Linux安全配置Fail2ban
风险暴露所有连接到互联网的服务器都面临恶意软件攻击的风险。连接到互联网的软件可能成为攻击者蛮力尝试的目标,试图访问应用程序。
使用Fail2ban工具Fail2ban是一个开源工具,可帮助保护Linux免受暴力攻击和其他自动攻击。它通过监视服务日志中的恶意活动来工作,使用正则表达式扫描日志文件。
工作原理
扫描日志文件,匹配特定模式的记录。
计数匹配记录,当数量达到预定义阈值时采取措施。
在指定时间段内禁止有问题的IP。
默认使用系统防火墙阻止被禁止IP的访问。
禁止期限到期后,IP地址将从禁止列表中删除。
安装和配置Fail2ban如果需要更新和升级服务器,执行以下命令:123sudo apt-get updatesudo apt-get upgradesudo apt-get install -y fail2ban
在root状态下,编辑Fail2ban的配置文件:1vim /etc/fail2ban/jail.local
配置文件内容如下(注意修改ssh端口和sshd日志路径):12345678910111213[sshd]port = 2223enabled = truefi ...
Linux常用技巧及命令(不断更新)
常用命令
命令
command
查看 GPU 使用状态
nvidia-smi
gpustat -i (需 pip install gpustat)
nvitop(需pip install nvitop)
查看进程
top、htop、ps -ef
grep [pid]
查看服务器磁盘容量
df -h
查看自己占用服务器的容量
du -h
查看当前目录下文件个数 (不包含子目录)
ls -l
grep “^-“
wc -l
查看端口占用 (Linux)
lsof -i:PORT (没有空格)
查看端口占用 (Windows)
查看所有开放端口: netstat -ano 查看占用端口程序的 PID:netstat -aon
findstr “PORT” 查看占用端口的 PID 所对应的程序:tasklist
findstr “PID” 杀死占用端口的进程:taskkill /T /F /PID “PID”
Linux的Vim常用快捷键https://www.runoob.com/w3cnote/all-vim-cheatsheat.html
...
Linux服务器之间文件传输
SCP命令正常情况下使用SCP命令12# 将服务器文件传输到本地scp -r user@ip:服务器文件夹 本地文件夹12# 将本地文件传输到服务器scp -r 本地文件夹 user@ip:服务器文件夹
使用密钥使用密钥时,需要添加一个-i的参数,并输入对应密钥的密码即可1scp -i 对应密钥地址 -r user@ip 本地文件夹如果出现Permissions 0644错误,则运行chmod 400修改一下权限即可1chmod 400 密钥地址
增加端口port1scp -r -i 对应密钥地址 -P 端口号 user@ip:服务器文件夹 本地文件夹