设备测试
内存
- 内存容量查看
c
~$ free
total used free shared buff/cache available
内存: 63368144 5589832 55475752 107536 2302560 57039216
交换: 2097148 0 2097148
- 内存频率查看 Speed: 表示设计频率 Configured Memory Speed: 表示实际设置频率
yaml
$ sudo dmidecode -t memory
[sudo] liang 的密码:
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.7.0 present.
# SMBIOS implementations newer than version 3.5.0 are not
# fully supported by this version of dmidecode.
Handle 0x0010, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 128 GB
Error Information Handle: 0x000F
Number Of Devices: 4
Handle 0x0013, DMI type 17, 100 bytes
Memory Device
...
Speed: Unknown
Manufacturer: Unknown
Serial Number: Unknown
Asset Tag: Not Specified
Part Number: Unknown
Rank: Unknown
Configured Memory Speed: Unknown
...
Handle 0x0015, DMI type 17, 100 bytes
Memory Device
...
Speed: 5600 MT/s
Manufacturer: Unknown
Serial Number: 000005FD
Asset Tag: Not Specified
Part Number: VGM5UH64C32BG-CSCJWA
Rank: 2
Configured Memory Speed: 6400 MT/s
Handle 0x0018, DMI type 17, 100 bytes
Memory Device
...
Speed: Unknown
Manufacturer: Unknown
Serial Number: Unknown
Asset Tag: Not Specified
Part Number: Unknown
Rank: Unknown
Configured Memory Speed: Unknown
...
Handle 0x001A, DMI type 17, 100 bytes
Memory Device
Array Handle: 0x0010
Error Information Handle: 0x0019
Total Width: 64 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMMB2
Bank Locator: P0 CHANNEL B
Type: DDR5
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 5600 MT/s
Manufacturer: Unknown
Serial Number: 000005FE
Asset Tag: Not Specified
Part Number: VGM5UH64C32BG-CSCJWA
Rank: 2
Configured Memory Speed: 6400 MT/s
Minimum Voltage: 1.1 V
Maximum Voltage: 1.1 V
Configured Voltage: 1.1 V
Memory Technology: DRAM
Memory Operating Mode Capability: Volatile memory
Firmware Version: Unknown
Module Manufacturer ID: Bank 9, Hex 0x13
Module Product ID: Unknown
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Non-Volatile Size: None
Volatile Size: 32 GB
Cache Size: None
Logical Size: None
- 内存压力测试工具
memtester是一个内存压力测试工具,主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和次数, 可以对系统现有的内存进行测试。
bash
sudo apt install memtester
#先运行下面命令查看剩余内存,然后用剩余内存做压力测试
free -h
#测试命令:
#运行10次
memtester 240G 10
#无限次
memtester 240G
#后台无限测试
nohup memtester 240G >> ./memtest.log 2>&1 &
- 内存带宽测试工具
mbw是一个内存带宽测试工具,通常用来评估用户层应用程序进行内存拷贝操作所能达到的带宽,可测试在内存拷贝(memcpy)、字符串拷贝(dumb)、和内存卡拷贝(mcblock)三种方式下的内存拷贝速度。
bash
sudo apt install mbw -y
mbw -q -n 10 245760
-q:隐藏日志
-n 10:表示运行10次
124000(MB):表示测试所用内存大小,用剩余内存的一半测试
#结果分析:
#只需关注平均值(AVG),内存分配速率越大,性能越好,三次AVG分别对应内存拷贝,字符串拷贝,内存卡拷贝。
nohup mbw -q -n 1000 124000 >> ./mbw.log 2>&1 &
top -p mbw[pid]
yaml
~$ mbw -q -n 10 25000
0 Method: MEMCPY Elapsed: 1.45638 MiB: 25000.00000 Copy: 17165.838 MiB/s
1 Method: MEMCPY Elapsed: 1.45201 MiB: 25000.00000 Copy: 17217.524 MiB/s
2 Method: MEMCPY Elapsed: 1.46664 MiB: 25000.00000 Copy: 17045.753 MiB/s
3 Method: MEMCPY Elapsed: 1.43712 MiB: 25000.00000 Copy: 17395.879 MiB/s
4 Method: MEMCPY Elapsed: 1.43983 MiB: 25000.00000 Copy: 17363.185 MiB/s
5 Method: MEMCPY Elapsed: 1.50285 MiB: 25000.00000 Copy: 16635.104 MiB/s
6 Method: MEMCPY Elapsed: 1.45592 MiB: 25000.00000 Copy: 17171.320 MiB/s
7 Method: MEMCPY Elapsed: 1.45347 MiB: 25000.00000 Copy: 17200.182 MiB/s
8 Method: MEMCPY Elapsed: 1.50137 MiB: 25000.00000 Copy: 16651.514 MiB/s
9 Method: MEMCPY Elapsed: 1.50706 MiB: 25000.00000 Copy: 16588.612 MiB/s
AVG Method: MEMCPY Elapsed: 1.46726 MiB: 25000.00000 Copy: 17038.516 MiB/s
0 Method: DUMB Elapsed: 1.37865 MiB: 25000.00000 Copy: 18133.629 MiB/s
1 Method: DUMB Elapsed: 1.44352 MiB: 25000.00000 Copy: 17318.728 MiB/s
2 Method: DUMB Elapsed: 1.37530 MiB: 25000.00000 Copy: 18177.879 MiB/s
3 Method: DUMB Elapsed: 1.37068 MiB: 25000.00000 Copy: 18239.122 MiB/s
4 Method: DUMB Elapsed: 1.37093 MiB: 25000.00000 Copy: 18235.796 MiB/s
5 Method: DUMB Elapsed: 1.36990 MiB: 25000.00000 Copy: 18249.507 MiB/s
6 Method: DUMB Elapsed: 1.36674 MiB: 25000.00000 Copy: 18291.648 MiB/s
7 Method: DUMB Elapsed: 1.37120 MiB: 25000.00000 Copy: 18232.165 MiB/s
8 Method: DUMB Elapsed: 1.37115 MiB: 25000.00000 Copy: 18232.884 MiB/s
9 Method: DUMB Elapsed: 1.36975 MiB: 25000.00000 Copy: 18251.466 MiB/s
AVG Method: DUMB Elapsed: 1.37878 MiB: 25000.00000 Copy: 18131.926 MiB/s
0 Method: MCBLOCK Elapsed: 1.13482 MiB: 25000.00000 Copy: 22029.945 MiB/s
1 Method: MCBLOCK Elapsed: 1.13723 MiB: 25000.00000 Copy: 21983.201 MiB/s
2 Method: MCBLOCK Elapsed: 1.13779 MiB: 25000.00000 Copy: 21972.517 MiB/s
3 Method: MCBLOCK Elapsed: 1.14223 MiB: 25000.00000 Copy: 21886.953 MiB/s
4 Method: MCBLOCK Elapsed: 1.13686 MiB: 25000.00000 Copy: 21990.472 MiB/s
5 Method: MCBLOCK Elapsed: 1.13846 MiB: 25000.00000 Copy: 21959.566 MiB/s
6 Method: MCBLOCK Elapsed: 1.13716 MiB: 25000.00000 Copy: 21984.651 MiB/s
7 Method: MCBLOCK Elapsed: 1.13459 MiB: 25000.00000 Copy: 22034.352 MiB/s
8 Method: MCBLOCK Elapsed: 1.13312 MiB: 25000.00000 Copy: 22062.879 MiB/s
9 Method: MCBLOCK Elapsed: 1.13577 MiB: 25000.00000 Copy: 22011.479 MiB/s
AVG Method: MCBLOCK Elapsed: 1.13680 MiB: 25000.00000 Copy: 21991.505 MiB/s
yaml
$ mbw -q -n 10 25000
0 Method: MEMCPY Elapsed: 1.42769 MiB: 25000.00000 Copy: 17510.865 MiB/s
1 Method: MEMCPY Elapsed: 1.39907 MiB: 25000.00000 Copy: 17869.077 MiB/s
2 Method: MEMCPY Elapsed: 1.38218 MiB: 25000.00000 Copy: 18087.330 MiB/s
3 Method: MEMCPY Elapsed: 1.38220 MiB: 25000.00000 Copy: 18087.147 MiB/s
4 Method: MEMCPY Elapsed: 1.38560 MiB: 25000.00000 Copy: 18042.751 MiB/s
5 Method: MEMCPY Elapsed: 1.38546 MiB: 25000.00000 Copy: 18044.614 MiB/s
6 Method: MEMCPY Elapsed: 1.38199 MiB: 25000.00000 Copy: 18089.804 MiB/s
7 Method: MEMCPY Elapsed: 1.38623 MiB: 25000.00000 Copy: 18034.512 MiB/s
8 Method: MEMCPY Elapsed: 1.40302 MiB: 25000.00000 Copy: 17818.756 MiB/s
9 Method: MEMCPY Elapsed: 1.38552 MiB: 25000.00000 Copy: 18043.819 MiB/s
AVG Method: MEMCPY Elapsed: 1.39189 MiB: 25000.00000 Copy: 17961.138 MiB/s
0 Method: DUMB Elapsed: 1.15162 MiB: 25000.00000 Copy: 21708.587 MiB/s
1 Method: DUMB Elapsed: 1.15045 MiB: 25000.00000 Copy: 21730.608 MiB/s
2 Method: DUMB Elapsed: 1.14807 MiB: 25000.00000 Copy: 21775.733 MiB/s
3 Method: DUMB Elapsed: 1.16547 MiB: 25000.00000 Copy: 21450.610 MiB/s
4 Method: DUMB Elapsed: 1.16364 MiB: 25000.00000 Copy: 21484.234 MiB/s
5 Method: DUMB Elapsed: 1.16481 MiB: 25000.00000 Copy: 21462.673 MiB/s
6 Method: DUMB Elapsed: 1.17837 MiB: 25000.00000 Copy: 21215.765 MiB/s
7 Method: DUMB Elapsed: 1.19606 MiB: 25000.00000 Copy: 20901.979 MiB/s
8 Method: DUMB Elapsed: 1.17108 MiB: 25000.00000 Copy: 21347.761 MiB/s
9 Method: DUMB Elapsed: 1.16057 MiB: 25000.00000 Copy: 21541.232 MiB/s
AVG Method: DUMB Elapsed: 1.16501 MiB: 25000.00000 Copy: 21458.975 MiB/s
0 Method: MCBLOCK Elapsed: 0.95769 MiB: 25000.00000 Copy: 26104.372 MiB/s
1 Method: MCBLOCK Elapsed: 0.95744 MiB: 25000.00000 Copy: 26111.270 MiB/s
2 Method: MCBLOCK Elapsed: 0.95651 MiB: 25000.00000 Copy: 26136.794 MiB/s
3 Method: MCBLOCK Elapsed: 0.95603 MiB: 25000.00000 Copy: 26149.889 MiB/s
4 Method: MCBLOCK Elapsed: 0.95850 MiB: 25000.00000 Copy: 26082.366 MiB/s
5 Method: MCBLOCK Elapsed: 0.95595 MiB: 25000.00000 Copy: 26151.913 MiB/s
6 Method: MCBLOCK Elapsed: 0.95939 MiB: 25000.00000 Copy: 26058.143 MiB/s
7 Method: MCBLOCK Elapsed: 0.95710 MiB: 25000.00000 Copy: 26120.518 MiB/s
8 Method: MCBLOCK Elapsed: 0.95603 MiB: 25000.00000 Copy: 26149.698 MiB/s
9 Method: MCBLOCK Elapsed: 0.95519 MiB: 25000.00000 Copy: 26172.721 MiB/s
AVG Method: MCBLOCK Elapsed: 0.95698 MiB: 25000.00000 Copy: 26123.725 MiB/s
- 内存性能综合测试工具
lmbench是一个用于评价系统综合性能的多平台开源benchmark,能测试包括文档读写、内存操作、进程创建销毁开销、网络等性能。
lmbench是个多平台软件,因此能够对同级别的系统进行对比测试,反应不同系统的优劣。同时,作为一个开源软件,lmbench提供一个测试框架,如有更高的测试需要,可以通过修改源代码达到目的,比如实现线程级别的性能测试。
主要功能介绍:
带宽测评工具
- 读取缓存文件
- 拷贝内存
- 读写内存
- 管道
- TCP
反应时间测评工具
- 上下文切换
- 网络连接的建立
- 文件系统的创建和删除
- 进程创建
- 信号处理
- 上层的系统调用
- 内存读入反应时间
其他
- 处理器时钟比率计算
sudo apt install lmbench
- sysbench 使用sysbench进行内存测试
sysbench
是一个多功能性能测试工具,可以测试CPU、内存、I/O等性能。使用 sysbench
测试内存性能的方法如下:
-
运行sysbench内存测试:
使用以下命令运行内存读写测试:
arduinosysbench memory --memory-block-size=1M --memory-total-size=25G run
上述命令将测试10GB的数据,块大小为1MB。
-
解析结果:
测试结果将显示内存读写速度(MB/s)和延迟(ms)。这些数据可以帮助评估DDR5内存的性能。
yaml
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1024KiB
total size: 25600MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 25600 (40463.39 per second)
25600.00 MiB transferred (40463.39 MiB/sec)
General statistics:
total time: 0.6321s
total number of events: 25600
Latency (ms):
min: 0.02
avg: 0.02
max: 0.05
95th percentile: 0.03
sum: 629.64
Threads fairness:
events (avg/stddev): 25600.0000/0.00
execution time (avg/stddev): 0.6296/0.00
- 使用hdparm测试内存缓存性能
虽然 hdparm
主要用于硬盘测试,但也可以用来测试缓存性能。使用以下命令测试缓存读性能:
bash
sudo hdparm -T /dev/sda
/dev/sda
为系统的主硬盘,-T
选项测试缓存读性能。
六、分析说明表
工具 | 命令 | 说明 |
---|---|---|
memtester | sudo memtester 4096M 5 |
测试4GB内存,重复5次 |
sysbench | sysbench memory --memory-block-size=1M --memory-total-size=10G run |
测试10GB数据,块大小为1MB |
hdparm | sudo hdparm -T /dev/sda |
测试硬盘缓存读性能 |
温度查看
-
lm-sensors
sudo apt install lm-sensors
yaml
sensors
amdgpu-pci-1600
Adapter: PCI adapter
vddgfx: 960.00 mV
vddnb: 1.30 V
edge: +44.0°C
PPT: 8.00 mW
nvme-pci-0200
Adapter: PCI adapter
Composite: +38.9°C (low = -273.1°C, high = +89.8°C)
(crit = +94.8°C)
Sensor 1: +38.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +26.9°C (low = -273.1°C, high = +65261.8°C)
mt7921_phy0-pci-0f00
Adapter: PCI adapter
temp1: +36.0°C
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +52.9°C
watch sensors: 实时监控 apt install psensor: 图形化监控 APP
CPU 实时频率
要查看Linux系统中CPU的实时频率,可以使用以下命令:
- 使用lscpu命令:lscpu命令可以显示出CPU的详细信息,包括核心数、线程数以及实时频率等。
输入命令:lscpu
输出结果中可以找到"CPU MHz"字段,表示CPU的实时频率。
- 使用cpufreq-info命令:cpufreq-info命令可以显示有关CPU频率和Governor的详细信息。
输入命令:cpufreq-info
输出结果中可以找到"current CPU frequency"字段,表示CPU的实时频率。
- 使用cat命令读取/sys/devices/system/cpu/cpu[0-9]/cpufreq/cpuinfo_cur_freq文件:该文件保存有CPU的实时频率信息。
输入命令:cat /sys/devices/system/cpu/cpu[0-9]/cpufreq/cpuinfo_cur_freq
输出结果为CPU的实时频率。
- 使用watch命令配合cpufreq-set命令实时监测:watch命令可以实时监测并展示命令的输出,cpufreq-set命令可以设置CPU的频率。
输入命令:watch -n 1 cpufreq-set -c 0 --freq
输出结果为CPU 0的实时频率,每秒更新一次。
以上是几种常用的查看Linux系统中CPU实时频率的命令,根据需要选择其中一种即可。
-
cpu-x window 平台的 cpu-z 的平替。
sudo apt install cpu-x
命令行
cpu-x -D
同时也有图形界面
驱动安装
显卡驱动
组件 | 作用 | 依赖关系 |
---|---|---|
NVIDIA 驱动 | 提供 GPU 与操作系统的接口,管理 GPU 的资源与运行环境。 | NVIDIA 驱动是运行 CUDA 和 cuDNN 的基础,必须安装。 |
CUDA Toolkit | 提供 GPU 加速的编程框架和库,允许开发者在 GPU 上运行并行计算。 | 依赖于 NVIDIA 驱动,必须先安装驱动才能使用 CUDA。 |
cuDNN | NVIDIA 提供的深度学习加速库,优化了神经网络的计算。 | 依赖于 CUDA Toolkit,必须先安装 CUDA 才能使用 cuDNN。 |
------------------------------------------------ | ||
docs.nvidia.com/cuda/cuda-t... |
documentation.ubuntu.com/server/how-...
- 禁用nouveau
nouveau是系统自带的驱动程序,一般来讲要安装新的显卡驱动的时候需要禁用这个驱动
首先打开nouveau的配置文件:
bash
sudo gedit /etc/modprobe.d/blacklist.conf
然后在最下面加上:
ini
blacklist nouveau
options nouveau modeset=0
保存修改之后在终端执行:
sql
sudo update-initramfs --u
重启后检测是否关闭, 输出空,则是关闭成功
perl
lsmod | grep nouveau
- 关闭系统安全模式
有时候在安装NVIDIA驱动时需要关闭系统安全模式,在BIOS中寻找Security,关闭安全启动。注意这条不一定适用于所有系统。
- 查看合适的显卡驱动版本
- nvidia-driver-xxx :这是适配大多数用户,一般情况下都可以安装这个
- nvidia-driver-xxx-server :这个适配服务器,有多块GPU调度等情况
- nvidia-driver-xxx-open :这个是开源版本,可以自己修改
yaml
$ sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
modalias : pci:v000010DEd00002504sv000010DEsd00001536bc03sc00i00
vendor : NVIDIA Corporation
model : GA106 [GeForce RTX 3060 Lite Hash Rate]
driver : nvidia-driver-535-server-open - distro non-free
driver : nvidia-driver-535-open - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-550-open - distro non-free
driver : nvidia-driver-570-server - distro non-free
driver : nvidia-driver-550 - distro non-free recommended
driver : nvidia-driver-570-server-open - distro non-free
driver : nvidia-driver-545-open - distro non-free
driver : nvidia-driver-545 - distro non-free
driver : nvidia-driver-535-server - distro non-free
driver : nvidia-driver-535 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
kotlin
$ sudo ubuntu-drivers list
nvidia-driver-535-open, (kernel modules provided by linux-modules-nvidia-535-open-generic-hwe-22.04)
nvidia-driver-535, (kernel modules provided by linux-modules-nvidia-535-generic-hwe-22.04)
nvidia-driver-535-server, (kernel modules provided by linux-modules-nvidia-535-server-generic-hwe-22.04)
nvidia-driver-550, (kernel modules provided by linux-modules-nvidia-550-generic-hwe-22.04)
nvidia-driver-545, (kernel modules provided by nvidia-dkms-545)
nvidia-driver-550-open, (kernel modules provided by linux-modules-nvidia-550-open-generic-hwe-22.04)
nvidia-driver-570-server-open, (kernel modules provided by linux-modules-nvidia-570-server-open-generic-hwe-22.04)
nvidia-driver-470, (kernel modules provided by linux-modules-nvidia-470-generic-hwe-22.04)
nvidia-driver-470-server, (kernel modules provided by linux-modules-nvidia-470-server-generic-hwe-22.04)
nvidia-driver-570-server, (kernel modules provided by linux-modules-nvidia-570-server-generic-hwe-22.04)
nvidia-driver-535-server-open, (kernel modules provided by linux-modules-nvidia-535-server-open-generic-hwe-22.04)
nvidia-driver-545-open, (kernel modules provided by nvidia-dkms-545-open)
- 添加驱动源
sql
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
-
安装驱动
sudo ubuntu-drivers install nvidia:550
自动安装
bash
# Ubuntu自动安装推荐驱动
sudo ubuntu-drivers autoinstall
sudo reboot
# 验证安装
nvidia-smi
-
安装显卡驱动工具 nvidia-cuda-toolkit
nvidia-smi 查看 CUDA 版本
- 方式一:采用 Ubuntu 软件源中的 CUDA Tools 软件包
这种方式安装简单,但安装的 CUDA Toolkit 版本往往不是最新版本。查询 目前可安装的 CUDA Toolkit 版本的命令,如下所示
sql
apt search nvidia-cuda-toolkit
具体安装命令如下:
sudo apt install nvidia-cuda-toolkit
- 方式二: 选择对应版本,下载对应包,通过 PKG 安装,下载地址 developer.nvidia.com/cuda-toolki...
arduino
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4
步骤3:配置环境变量
bash
# 添加至 ~/.bashrc
export CUDA_HOME=/usr/local/cuda-12.4
export PATH=${CUDA_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
# 生效配置
source ~/.bashrc
- 安装显卡监控程序
此处使用 nvtop:
sudo apt install nvtop
- 如何删除驱动
css
sudo apt autoremove cuda* nvidia* --purge
pytorch 安装
- 安装 python&miniconda
-
install python
sudo apt install python3
-
install pip
sudo apt install python3-pip
-
download miniconda mirrors.tuna.tsinghua.edu.cn/anaconda/ar... repo.anaconda.com/miniconda/
bash
# The version of Anaconda may be different depending on when you are installing`
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh
# and follow the prompts. The defaults are generally good.`
vbnet
Miniconda3 will now be installed into this location:
/home/liang/miniconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
Do you wish to update your shell profile to automatically initialize conda?
This will activate conda on startup and change the command prompt when activated.
If you'd prefer that conda's base environment not be activated on startup,
run the following command when conda is activated:
conda config --set auto_activate_base false
You can undo this by running `conda init --reverse $SHELL`? [yes|no]
- 安装 torch
download.pytorch.org/whl/torch_s...
perl
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
ollama
arduino
curl -fsSL https://ollama.com/install.sh | sh
comfyUI
python 3.13 is supported but using 3.12 is recommended because some custom nodes and their dependencies might not support it yet.
ini
conda create -n comfyUI python=3.12
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
tabby
远程环境
ssh
Server
- 要运行 SSH 服务器的包由 OpensSSH 的
openssh-server
组件提供
sql
sudo apt update
sudo apt install openssh-server
- 一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入:
lua
sudo systemctl status ssh
service ssh status
3.Ubuntu 自带一个配置防火墙配置工具,称为 UFW。如果防火墙在你的系统上被启用,请确保打开了 SSH 端口:
sudo ufw allow ssh
输出将会告诉你服务正在运行,并且启用开机启动: UFW 的运行状态可以通过运行 sudo ufw status
来检查
- 在 Ubuntu 上禁用 SSH 想要在你的 Ubuntu 系统上禁用 SSH 服务器,简单停止 SSH 即可,输入:
bash
sudo systemctl disable --now ssh
稍后,你可以重新启用,输入:
bash
sudo systemctl enable --now ssh
如果你想要停止 SSH 服务,需要运行该命令:
arduino
sudo systemctl stop ssh
该命令会关闭 SSH 服务,直到重启它或者系统重启。想要重启它,输入:
sql
sudo systemctl start ssh
Client
-
安装 ssh,用XShell等软件就可以SSH登录服务器了
sudo apt install ssh
-
想要在局域网内连接到你的 Ubuntu 机器,以下面的格式输入 ssh 命令,加上用户名和 IP 地址。
perl
ssh username@ip_address
确保你将`username`修改成你自己的用户名,`ip_address`修改成你安装了 SSH 的 Ubuntu 机器的 IP 地址。
如果你不知道你的 IP 地址,你可以使用ip
命令轻易地找到它:
css
ip a
-
清除缓存和公钥
ssh-keygen -R server_ip
xrdp
Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许我们通过图形界面控制远程系统。这里使用RDP而不是VNC作为远程桌面,是因为Windows自带的远程桌面连接软件就可以连接很方便,另外RDP在Windows下的体验非常好,包括速度很快(因为压缩方案做得比较好),可以直接在主机和远程桌面之间复制粘贴等等。
bash
# 安装
sudo apt instal xrdp
# 查看运行状态
sudo systemctl status xrdp
默认情况下,xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key
,它仅仅对ssl-cert用户组成语可读,所以需要运行下面的命令,将xrdp用户添加到这个用户组:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
然后使用Windows自带的远程桌面软件连接服务器IP地址或者域名就行了
samba
通过建立局域网SAMBA服务来实现这个效果:
- 安装
samba
和samba-common-bin
arduino
sudo apt-get install samba samba-common-bin
- 配置/etc/samba/smb.conf文件
bash
sudo nano /etc/samba/smb.conf
在最后一行后面加入:
ini
# 共享文件夹显示的名称
[home]
# 说明信息
comment = Fusion WorkStation Storage
# 可以访问的用户
valid users = smbpasswd,root
# 共享文件的路径
path = /home/smbpasswd/
# 可被其他人看到资源名称(非内容)
browseable = yes
# 可写
writable = yes
# 新建文件的权限为 664
create mask = 0664
# 新建目录的权限为 775
directory mask = 0775
配置 Samba 修改 /etc/samba/smb.conf,在最后面添加以下配置:
ini
[Volumes]
comment = TimeCapsule Volumes
path = /usr/local/volumes
browseable = yes
writable = yes
available = yes
valid users = alan
可以把配置文件中你不需要的分享名称删除,例如 [homes], [printers] 等。
运行这个命令测试一下配置文件是否有错误,根据提示做相应修改:testparm
- 添加登陆账户并创建密码
必须是 linux 已存在的用户:
css
sudo smbpasswd -a pi
然后重启服务即可:
bash
sudo /etc/init.d/samba-ad-dc restart
sudo service smbd restart
接下来可以在Windows的网络中发现设备了