前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >台式机+轻薄本:AI从业者的最佳设备配置指南

台式机+轻薄本:AI从业者的最佳设备配置指南

作者头像
孔西皮
发布2023-10-18 08:51:09
5530
发布2023-10-18 08:51:09
举报
文章被收录于专栏:前行的CVer前行的CVer

作为一名AI从业者,你选购电脑是否有过这样的苦恼:轻薄本便携 续航久,但GPU和散热弱;游戏本GPU比较强,但比较重、续航短;台式机高配置、硬盘空间大,但不能带出门;商业的GPU服务器租赁要不就是使用有要求,要不就是贵的离谱,还要担心商家提桶跑路 or 涨价 or 欠费停机数据被删。作为一个成熟但财力有限的开发者,想全都要,比较好的一种方式是买轻薄本+台式机。但拥有多台设备后,依然存在一些痛点问题,比如资料分散在两台电脑、出门在外依然难以查看实验结果。本文博主以自身经验为例,给出轻薄本+ubuntu台式机+frp ssh的配置指南,供大家选择性参考。

1. 轻薄本

博主现在使用的是2019年买的联想小新pro,win11系统。(但对 Macbook心动中) 连接服务器我使用的是 Xftp 和 Xshell 两个软件,我觉得它俩比 MobaXterm 好用多了,响应快不会断连。Xftp 和 Xshell 现在都能在官网下到,可免费使用,免费版与付费版功能完全一样(但免费版每次用完会有一个弹窗)。

调试和写代码我用 VScode 和 Pycharm,它俩都能连远程服务器。区别是VScode相当于直接打开服务器的文件夹,它不需要本地有任何项目文件所以不占用本地的存储空间,但是会在服务器端安装一个vscode-server,如果是新的服务器首次连接需要一些时间。而Pycharm需要在本地有项目文件,然后设置本地项目文件与远程文件同步。VScode对于一个服务器只需要设置一次,而Pycharm对于每个项目都要设置一次。

如果一个项目我可能会在多个服务器用,并且项目会调试好几个月,我会用pycharm。反之如果一个项目是临时跑一下试试,只用几周,我会用VScode。

设置本机的ssh:打开win11终端执行 cd ~/.sshls,如果路径下有id_rsa文件,说明已经有了ssh key不需要再生成。否则使用命令ssh-keygen -t rsa -C "yourname@163.com" 生成。生成的密钥和公钥后续要用。

2. 台式机

台式机以博主的Ubuntu18为例,首先允许台式机通过ssh登录,在ubuntu终端执行:

代码语言:javascript
复制
sudo apt install openssh-server  # 安装
sudo service ssh start  # 启动ssh
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config  # 允许root登录
sudo service ssh restart

此时,让你的轻薄本和台式机在一个局域网中,轻薄本应该可以通过用户名密码ssh登录到台式机内网ip了。为了让登录更快捷且安全,我们配置一下通过密钥登录。将轻薄本中的公钥~/.ssh/id_rsa.pub拷贝到台式机的~/.ssh路径下,并在ubuntu中注册公钥:

代码语言:javascript
复制
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh

然后编辑vim /etc/ssh/sshd_config文件,进行如下配置:

代码语言:javascript
复制
RSAAuthentication yes
PubkeyAuthentication yes

配置完后,重启ssh服务:service sshd restart。此时,让你的轻薄本和台式机在一个局域网中,你的轻薄本应该可以通过密钥ssh登录到台式机内网ip。如果无法登录,请检查ubuntu中~/.ssh中的文件所有者和权限是否设置正确。成功后,禁用密码登录,只保留密钥登录: 编辑vim /etc/ssh/sshd_config文件,增加如下配置PasswordAuthentication no,然后重启ssh:service ssh restart

如果你的台式机放在自己家,你可以给你的运营商客服打电话,看能不能要到公网ip。如果有公网ip,恭喜你,你的配置结束了。如果你无法申请公网ip,就还需要配置frp内网穿透。在台式机配置frpc,即frp客户端。在有公网ip的云服务器配置frps,即frp服务端。

首先,下载适合自己系统的压缩包:https://github.com/fatedier/frp/releases

解压frp压缩包中的frpcfrpc.ini到任意路径,按照下面的步骤在ubuntu台式机上配置frpc:

安装systemd

代码语言:javascript
复制
apt install systemd
vim /etc/systemd/system/frpc.service

写入内容

代码语言:javascript
复制
[Unit]
Description=frpc
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/home/kpp/Software/frpc -c /home/kpp/Software/frpc.ini
ExecStop=/usr/bin/killall frpc
RestartSec=1min
KillMode=control-group
Restart=always
[Install]
WantedBy=multi-user.target

vim /path/frpc.ini 写入内容

代码语言:javascript
复制
[common]
server_addr = x.x.x.x # 写你的公网ip
server_port = 7000
[ssh-main]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[ssh1]
type = tcp
local_ip = 127.0.0.1
local_port = 22001
remote_port = 60001

启动frpc,并设置开机自动启动

代码语言:javascript
复制
systemctl start frpc
systemctl enable frpc

3. 公网云服务器

解压frp压缩包中的frpsfrps.ini到任意路径,按照下面的步骤在公网云服务器上配置frps:

用 yum (CentOS)或 apt (Ubuntu)安装systemd

代码语言:javascript
复制
# yum
yum install systemd
# apt
apt install systemd

使用文本编辑器,如 vim 创建并编辑 frps.service 文件。 vim /etc/systemd/system/frps.service 写入内容

代码语言:javascript
复制
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini
[Install]
WantedBy = multi-user.target

配置frps.ini:

代码语言:javascript
复制
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = your_user
dashboard_pwd = your_password
eable_prometheus = true

使用 systemd 命令,管理 frps。

代码语言:javascript
复制
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

配置 frps 开机自启。 systemctl enable frps

配置完上述的frpc和frps,你就可以在任意地方通过公网ip和remote_port访问自己的台式机啦~你还可以访问http://x.x.x.x:7500查看你的frp仪表盘。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 轻薄本
  • 2. 台式机
  • 3. 公网云服务器
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档