加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

如何让计算机工作环境更便捷?几行简单的命令即可

发布时间:2019-04-27 20:18:45 所属栏目:建站 来源:佚名
导读:作为恒久从事数据科学相干事变的人,作者很喜好便捷的事变情形,并为此试探出来一些小能力。通过这些能力,可以将一般一些一再性可能死板的简朴事变变得「自动化」,使计较机的事变情形越发友爱。 已往几年里,我一向从事数据科学/研究项目,本科就做了一
副问题[/!--empirenews.page--]

作为恒久从事数据科学相干事变的人,作者很喜好便捷的事变情形,并为此试探出来一些小能力。通过这些能力,可以将一般一些一再性可能死板的简朴事变变得「自动化」,使计较机的事变情形越发友爱。

已往几年里,我一向从事数据科学/研究项目,本科就做了一些与这个行业相干的事变,此刻是研究生在读,也在做这方面的研究。作为一个喜好便捷情形的人,我老是喜好改造我的事变方法,将一般的死板进程变得「自动化」。在这篇文章中,我将描写怎样使情形更便于行使。

我行使的配置包括以下组件:

  • 小我私人电脑(Linux 刊行版)
  • 网关
  • 长途处事器

怎样让计较机事变情形更便捷?几行简朴的呼吁即可

因为我研究的项目计较劲庞大,条记本电脑无法承担。因此,我必要这些呆板帮助我。出于安详缘故起因,长途处事器无法直接会见,这意味着它们只能由网关呆板会见。

毗连处事器的根基要领是起首将 ssh 毗连到网关,然后将 ssh 毗连随处事器,每次毗连时都必要输入用户名和暗码。输入一遍又一遍是相等贫困的。此刻我将先容怎样行使单个呼吁轻松毗连到两个处事器。

充实操作 SSH

关于 SSH

SSH(Secure Shell)是一种安详协议,应承用户节制他们毗连的处事器。行使 ssh 毗连到长途处事器的常用要领是行使以下呼吁:ssh user@host,然后得到一个暗码提醒符。在这篇文章中,我不会具体先容 ssh 的事变道理,只是操作 ssh 根基的行使常识。

无需暗码即可毗连

起首建设一个认证密钥,并将民众密钥传输到我们想毗连的处事器。我们从配置第一个毗连开始——从条记本电脑到网关。

我们将行使一个名为 ssh-copy 的小软件。它为我们完成全部事变,我们必要做的就是在终端中键入以下呼吁:

  1. ssh-keygen -t rsa # create an SSH key, if needed. 
  2. ssh-copy-id -i ~/.ssh/id_rsa.pub user@host 
  • Linux 用户应该已经安装了这个软件。
  • Mac 用户必要通过呼吁 brew install ssh-copy-id 安装 ssh-copy 器材。

ssh-copy-id 呼吁将 SSH 密钥复制随处事器,假如必要,建设响应的 ssh 文件夹,最后将公钥作为授权密钥添加随处事器的.ssh / authorized_keys 文件中。

假如因为某种缘故起因这不起浸染,只需复制粘贴以下呼吁,这根基就是 ssh-copy 的浸染:

打开终端并运行以下步调:

  • 天生一对认证密钥。体系将要求你输入恣意暗码。ssh-keygen -t rsa
  • 在长途计较机上建设一个 .ssh 文件夹(假如已存在则无需建设)ssh user@host mkdir -p .ssh
  • 将之前世成的公钥添加到长途计较机(这应该是最后一次输入暗码)。cat .ssh/id_rsa.pub | ssh user@host 'cat >> .ssh/authorized_keys'

OK!以后刻开始,你无需暗码即可轻松会见处事器。

  1. ssh user@host 

要从网关系接处事器,遵循沟通的步调(假如尚未设置)。

利便的 SSH

此刻要做的是进阶版。与每次 ssh 都行使完备主机名+用户名差异,我们可以使它更利便——无论是网关或署理呆板。

在当地计较机的~/.ssh/config 文件下插入以下内容:

  1. Host gate 
  2.  HostName [gateway.name] 
  3.  User [user] 
  4. Host work1 
  5.  HostName [machine.name] 
  6.  user [user] 
  7.  ProxyCommand ssh gate nc %h %p 

尚有一个有效的设置参数名为「IdentityFile」,它在处理赏罚多个公钥/私钥对时很是有效。假设你除了小我私人账户外,有一个 github 的事变帐户。那你就必要另一个公钥-私钥对,但你照旧必要一个利便的接口。以下是在设置文件中举办配置的示例:

  1. Host company-github 
  2.  User git 
  3.  HostName company.github.com 
  4.  IdentityFile ~/.ssh/github.comp.key 

每个 ssh 毗连将行使匹配的密钥举办毗连。

为了使每个处事器轻松毗连,我们可以以相同的方法添加全部长途处事器。

此刻,只必要简朴的呼吁 ssh gate 或 ssh work1,就可以直接毗连到网关或 work1 处事器,无需任何暗码或其余毗连。

地道(Tunneling)

此刻我们可以利便地会见长途处事器,然后可以行使地道来实现对计较机中处事器资源的无缝会见。这样,我们可以在长途呆板(具有大量内存)上运行 Jupyter notebook,并在赏识器上与它举办交互。它可以实现如下成果:

  • 封锁计较机,并保持 notebook 在处事器上运行。
  • 从另一台计较机也可以打开和会见统一 notebook。
  • 保持模子可在长途处事器上加载。即加载一次即可永世会见(或直到打点员重启)。

譬喻,假如我们想在端口 9100 上打开处事器 work1 上的 notebook,可以行使以下呼吁打开到端口 9200 上的计较机的地道:

  1. *ssh* *-N* *-f* *-L* *localhost*:9200:localhost:9100 *work1* 

风趣的地道

此刻你已经相识怎样配置地道,你可以一向行使这个能力(至少我一向这样做)。此刻以 Jupyter notebook 和 Tensorboard 为例做一个演示。Tensorboard 处事器不会耗损许多资源,但 notebooks 偶然会。因为差异的项目行使的呆板差异(为均衡负载),因此会行使差异的地道,以是我偶然不记得哪个端口用于什么应用,更不消说在哪个处事器上了。

最终,我们转向本身的呆板,独一节制的变量是端标语,而这些数字很快会被忘记。我最近找到了一部门办理方案。我没有在 localhost:xxxx 上打开应用措施,而是天生了新的域名,这些域名只转发到 localhost 主机。这固然没有办理端口题目,但此刻每个应用措施都有本身的名称,没有夹杂,在行使一两次后,当代赏识器就会记着端口,以是你只需记着你为每个措施起的名称即可。

要举办域转发,请执行以下操纵:

  • 行使 sudo [vim|nano|...] /etc/hosts 打开/etc/hosts 文件
  • 你应该在某处(也许在顶部)发明这一行:127.0.0.1 localhost
  • 复制该行,行使你为应用措施取的名字替代 localhost 的名称(譬喻,tensorboard)。

此刻你可以在 tensorboard:8100 上找到 tensorboard 应用。

但端口题目如故没有办理,接待提出提议。

更多便捷能力

保持 SSH 打开

假如你已经行使地道一段时刻,你也许发明假如闲置几分钟后,地道每每在不事变时城市断开毗连。假如你同时在处理赏罚好几件事,而没有一向行使地道,那这个一再毗连的事变真的很烦人。通过在 ssh 设置文件中添加一行简朴语句,这个题目就可以很轻易办理。这样,每隔 x 秒,一个'叫醒(sign-of-life)'信号会被发送随处事器上。在当地计较机上,编辑 /etc/ssh/ssh_config 文件(带有 sudo)并在 Host *行后输入以下行:

  1. ServerAliveInterval 120 

这合用于全部 ssh 毗连。假如不想全部的 ssh 都保持毗连,则可以通过给~/.ssh/config 设置文件添加沟通的行来仅毗连特定的 ssh。设置如下:

  1. Host gate 
  2.  HostName gateway.name 
  3.  User user 
  4.  IdentityFile ~/.ssh/gateway 
  5.  ServerAliveInterval 120 

Autossh

此刻,地道在不事变时也不会封锁,工作看起来很顺遂。但当你筹备睡觉(人总要苏息啊)时,你就会停息/休眠你的电脑(不是关机)。第二天,你想从头开始事变,你在当地计较机上筹备打开地道时发明,...... 毗连已封锁,你必要从头打开它。这也让民气累不是吗?荣幸的是,这也有办理方案!

关于 autossh:http://www.harding.motd.ca/autossh/

这个绝妙的措施将担保你的 ssh 毗连一向开启,除非封锁计较机。只要没有关机,ssh 就一向是毗连着的。譬喻,你可以将计较机置于休眠状态,断开 Wifi 等毗连,但一旦从头联机,此措施将从头为你毗连 ssh。

通过运行以下行来安装 autossh:

  1. sudo apt-*get* install autossh 

此刻运行以下呼吁:

  1. *autossh* *-M* 20000 *-N* *-f* *-L* *localhost*:9201:localhost:9100 *work1* 

这与我们之前看到的呼吁很是相似,除了呼吁名称(duh)和 -M 20000 符号(这是表现器地址的端口)。

IntelliJ 集成

在 Pycharm 专业版中,有一个很好的成果,即可以毗连长途处事器并直接在上面事变。你可以在本身的计较机上编写代码,在长途处事器上运行代码,可能在长途处事器上完全同步整个存储库。

interlliJ 界面会不时变革,但主题稳固。我将先容特定版本 - V. 2018.1.4 的步调。

  • 进入 Pycharm 的配置界面
  • 构建,执行,陈设 - >陈设
  • 单击绿色+,建设新的陈设配置
  • 输入相干信息(名称、主机、端口(凡是为 22)、根路径和用户名)

此刻右键点击项目文件夹,在陈设键下,你可以上传、下载项目或使其与长途位置同步(可以配置快捷键)。

行使长途表明器:

  • 进入项目配置栏
  • 在项目表明器标志下(在项目表明器选项四面,有一个小齿轮按钮)。单击它,然后点击「添加」。
  • 在左侧菜单中,单击 SSH 表明器
  • 单击「现有处事器设置」选项,行使我们之前建设的陈设设置。
  • 选择长途表明器(譬喻 anaconda / python)
  • ... 所有完成

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读