资讯专栏INFORMATION COLUMN

结对编程利器:SSH和Tmux

joywek / 1595人阅读

摘要:大部分的结对编程和远程办公的人对和的组合并不陌生,网上也有很多好的文章,这里我来为大家介绍一个简单的解决方案。设置远程用户因为我们将配置成了只允许公共密钥验证,我们需要将小伙伴们的公共密钥添加到验证密钥文件中。创建会话创建一个以命名的会话。

大部分的结对编程和远程办公的人对SSH和Tmux的组合并不陌生,网上也有很多好的文章,这里我来为大家介绍一个简单的解决方案。

创建一个账户别名(Alias)

第一步是为你的主要用户账户创建一个别名。这一步是可选的,选了这一步你就不必去了解每个开发者的实际用户名了。
从系统偏好设置中的“用户&群组”面板中,右击你的用户账户,然后点击高级选项。

从高级选项面板中,添加一个别名来让你的小伙伴们连接你的电脑时用。

配置SSH

接下来我们从系统偏好设置中的共享面板中打开远程登录。

然后更新我们的SSH登录设置来关掉密码验证,只允许公共密钥(public-key)验证。

# /etc/sshd_config
PasswordAuthentication no
...
ChallengeResponseAuthentication no

注意:为了时上面的设置生效,你需要重启sshd。在Mac上,只需要在系统偏好设置中的共享面板中重置一下远程登录的选中状态就可以了。

设置远程用户

因为我们将SSH配置成了只允许公共密钥验证,我们需要将小伙伴们的公共密钥添加到验证密钥(authorized_keys)文件中。

> cat pair_rsa.pub >> ~/.ssh/authorized_keys

接下来我们需要编辑这个文件来保证任何连接我们电脑的用户都会被自动添加到我们的Tmux会话(session)中。

# ~/.ssh/authorized_keys

command="/usr/local/bin/tmux attach -t pair" ABCDEFGHIJKLMNOPQRSTUVXYZ pair@user.com

这样一来,任何通过SSH连接的人都会被添加到以pair为别名的tmux绘画中。

创建pair会话

1.创建一个以pair命名的tmux会话。

> tmux new-session -s pair

2.创建你电脑中的pair SSH

> ssh pair@hostname

3.优点
这样设置完,只有你的电脑中存在一个名为pair的tmux会话时别人才可以连接到你的电脑。你关闭名为pair的tmux会话时已经存在的连接会自动断开。另一个好处是当你的私人密钥被使用时你会被提示输入密码,这样可以提防那些居心不良的小伙伴。

福利

为了方便完成以上的步骤,我写了一个shell脚本。不过你需要将”GitHub-auth”改为你的pair对应在github上的用户名。

免责声明:代码中用到了sudo,自己注意

#!/bin/sh

# create an account alias
sudo dscl . -append /Users/$USER RecordName Pair pair

# configure sshd to only allow public-key authentication
sudo sed -E -i.bak "s/^#?(PasswordAuthentication|ChallengeResponseAuthentication).*$/1 no/" /etc/sshd_config

# add pair user public key(s)
touch ~/.ssh/authorized_keys
gh-auth add --users githubuser --command="$( which tmux ) attach -t pair"

原文:A Simple Pair Programming Setup with SSH and Tmux
转载自:伯乐在线 - 杨帅

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110877.html

相关文章

  • Tmux使用手册

    摘要:关于我的博客掘金专栏路易斯专栏原文链接使用手册链接程序员使用手册极客头条全文共字,阅读需分钟。使用快捷键组合,三次按键就可以断开当前会话。新增面板中,使用最多的功能之一就是新增一个面板。 本文首发于CSDN网站,下面的版本又经过进一步的修订。 关于 我的博客:louis blog 掘金专栏:路易斯专栏 原文链接:Tmux使用手册 CSDN链接:程序员Tmux使用手册 - 极客头...

    Half 评论0 收藏0
  • Tmux的超绝便利 (基础篇)

    摘要:上面提到服务器的任务不间断运行,就是利用了的特性。超绝常用操作快捷键参考。是在里面的小分屏。我的配置如下基础设置前缀绑定启用鼠标选中窗口将快捷键设置为模式常见问题不管怎么改配置文件,都不产生变化这个主要是由于的后台缓存机制造成的。 上面提到服务器的任务不间断运行,就是利用了tmux的特性。就是说,一般ssh是断开就会停止所有之前连接ssh期间运行的所有processes,而tmux的核...

    chadLi 评论0 收藏0
  • Maximum Awesome:移动支付 Square 团队开源的 Vim 配置文件

    摘要:译者注文章的我们指的团队,本文描述了他们开源在上的一份非常流行的配置文件和都是非常流行的软件。插件浏览一个项目的文件结构移动文件新建文件等等,全都不需要离开。使用可以调用抽屉,或者使用打开当前文件。来源于一个终端的代替品,一个的配置,还有。 译者注:文章的我们指 Square 的团队,本文描述了他们开源在 Github 上的一份非常流行的 Vim 配置文件 Xcode 和 Vim 都...

    terro 评论0 收藏0
  • 黑屏操作利器,多屏批量shell命令发送

    摘要:开发在日常环境上测试的成功都依赖这个应用提供的服务,但频繁的发布造成短暂中断会阻塞流程。为了不让单点集成机阻塞,考虑设置两台日常机器按正式分批发布形式保证日常环境每时每刻必会有一台机器在提供服务。 web系统常见的开发流程: 日常->预发->线上 日常上通常只有一台机器用来集成,所有人的开发分支会在这上面做合并部署。 当一个应用有很多人在上面开发,并被很多应用依赖时,会有个问题。开发在...

    StonePanda 评论0 收藏0
  • 当决定使用 Ubuntu 来开发时

    本篇文章主要持续记录和总结 ubuntu 的必备基础和使用过程中遇到的各种问题 安装 下载 Ubuntu Kylin showImg(https://segmentfault.com/img/bVWluw?w=1366&h=768); 最新 ubuntu-kylin 使用 UltraISO 制作 U 盘启动盘 写入硬盘镜像 入门 了解目录 /home 用户的主目录 /boot 启动目录,启动...

    Raaabbit 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<