Linux服务器联网攻略
背景学校的个人账号只能在一台设备上进行认证联网,但是我们使用的 GPU 服务器经常需要访问互联网,在服务器上认证之后我们自己的电脑就会掉线,所以可以通过代理的方式让服务器通过我们自己的设备进行联网,解决这个问题。以下所有的方法,实际上让服务器可通过代理本地网络上网(解决服务器连不上网时使用)
此文档是借鉴实验室的师兄的文档完善而来,在这里感谢木子李!!!
设置http代理首先在自己本机电脑上,查看自己的ip地址,在当前终端进行输入123export http_proxy=http://ip:7890export https_proxy=https://ip:7890curl cip.cc # 有输出说明成功代理到了若希望不用每次终端都需要设置,也可以把export的部分写入~/.bashrc中,设置后进行source ~/.basrc即可
这里面的7890端口是通过clash进行转发的,可以进行下载clash
除此之外,也需要设置代理软件才能让服务器访问到网络,在 clash 中打开 Allow LAN, v2ray 中打开 允许局域网的连接 就行了。这样我们的设备可以访问的东西 ...
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 安装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
...
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:服务器文件夹 本地文件夹
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创建用户、设置密码
创建用户由于每台服务器都需要连接到 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服务器上安装Anaconda(超详细)
安装Anaconda1.1 下载anaconda的安装包这里我们需要在官网上查找自己需要的版本,地址链接在下面:https://repo.anaconda.com/archive/这里以我自己安装的版本为例:https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh这是我选择的版本,然后我们在控制台输入这句话:1wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh如果没有出现问题就是下面图示:如果出现问题就按照 1.2 步骤操作。
1.2 解决安装出现的bug当我们输入1.1的那一条命令时,有些人可能会出现下面这样的错误:1bash: wget: command not found当然这也是我自己出现的错误,具体解决办法如下: Debian/Ubuntu系统,需要执行以下命令:1apt-get install -y wget相反,CentOS系统则需要输入下面指令:1yum install wget -y
1.3 安装a ...
Linux 硬盘空间清理
Linux 硬盘空间清理0. 删除Docker一些无用的镜像在日常使用Docker时,会经常生成大量的镜像文件。这些镜像文件如果不加以管理,可能会占用大量的硬盘空间,导致系统性能下降。为了有效地释放硬盘空间,定期删除无用的Docker镜像是非常重要的。以下是一些删除无用Docker镜像的方法和步骤:
0.1 删除悬空(Dangling)镜像悬空镜像是指那些不再被任何容器使用的中间层镜像,通常由旧版本的镜像生成,随着时间的推移,这些悬空镜像会占用大量的磁盘空间。可以使用以下命令删除它们:
1docker image prune
这条命令会提示你是否要删除所有未被使用的镜像,输入y确认即可。这个命令非常安全,因为它只会删除不再被容器使用的镜像。
如果想要跳过确认步骤,可以使用以下命令:
1docker image prune -f
0.2 删除所有未使用的镜像如果你想要删除所有未被任何容器使用的镜像(不仅仅是悬空镜像),可以使用以下命令:
1docker image prune -a
此命令将删除所有不被当前容器使用的镜像,无论它们是否是悬空的。要小心使用此命令,因为它会删除大量的镜像,可 ...
SSHFS-WIN使用连接Linux服务器
https://github.com/evsar3/sshfs-win-manager
InstallationStep 1Install SSHFS-Win on your Windows computer.Follow they installation instructions before continue.
Install the latest version of WinFsp.
Install the latest version of SSHFS-Win. Choose the x64 or x86 installer according to your computer’s architecture.(一般win电脑是x64)
在您的Windows计算机上安装SSHFS-Win。 在继续之前,请按照以下安装说明进行操作:
安装最新版本的WinFsp。
安装最新版本的SSHFS-Win。根据您计算机的架构选择x64或x86安装程序。(通常情况下,Windows电脑使用x64架构。)
Step 2Once SSHFS-Win is installed, d ...
Linux的 shell无法自动补全命令
在ubuntu上使用useradd新建了一个用户,发现用新建的用户登陆无法使用tab键补全,这个问题是否让人恼火,所以来解决一下。
一、问题这是因为shell的解释器不是bash,需把shell的解释器更改为bash
二、两种解决方法1)方式一
新建一用户lqding,切换到该用户下
123root@lqding:~# su - lqding$ echo $USERlqding
提示符仅仅是一个$ ,很奇怪。输入命令,用TAB键也无法补全命令。并且没有命令历史功能。
使用root用户看passwd文件
123root@lqding:~# grep lqding /etc/passwdlqding:x:1000:1000::/home/lqding:/bin/shroot@lqding:~#
原来lqding用户默认的shell是/bin/sh 将其改为/bin/bash后
12345root@lqding:~# vi /etc/passwdroot@lqding:~# grep lqding /etc/passwdlqding:x:1000:1000::/home/lqding:/bi ...