此查询与 Git 没有直接关系,但由于 Git 支持的传输之一是 SSH,并且我正在尝试使用代理转发,我想我会要求澄清(手册页让我失望)
我正在尝试使用 Capistrano 自动化软件部署,我设法暂停了一些痛点(在部署之前预先播种已知主机等),但我遇到了以下情况。
我的团队以自己的身份登录服务器,个人用户帐户,每个人都在一个developers
组中,并且umask
是002
. 以上都不是真正相关的,只是说目的是确保我的团队始终可以像他们自己一样工作,而无需超级用户特权。
我们example.com
使用以下方法连接到服务器~/.ssh/config
:
Host example.com
User beaks
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa_business
Run Code Online (Sandbox Code Playgroud)
初始登录工作正常,ssh example.com
打开与我的用户帐户的连接,一切正常。
问题出现在下一步,
git ls-remote git@github.com:project/repository.git
Run Code Online (Sandbox Code Playgroud)
这是使用前面提到的 Git+SSH 传输层(见上面的链接) - 通常应该使用我的转发代理密钥(我已经用 验证过env | grep SSH_AUTH_SOCK
)
响应是一个简单的“身份验证失败(公钥)另一端意外挂断”,我怀疑是因为当我github.com
作为他们的共享git
用户接近时,我的用户的代理没有被使用。
我也不能排除EC2
怪异(安全策略等) - 但在这种情况下,我会期望超时或连接失败。我非常有信心我正在击球github.com
- 而且他们不让我进入,因为我的代理没有beaks
为他们的git
用户提供我的钥匙。
如果我错过了任何内容,很高兴添加任何其他信息。
我正在 Makefile 中的一些东西看起来像这样:
压缩包: mkdir -p tmp/tarball/etc/service mkdir -p tmp/tarball/usr/local mkdir -p tmp/tarball/opt/myproject cd 传感器数据;制作 cd 传感器隧道;制作设备名称 cp -r sensorservices tmp/tarball/etc/service # 在这里制作一个 tarball,例如: # chroot tmp/tarball;tar -czvf myproject.tar.gz 。
这个想法是,我将能够进入该./tmp/tarball
目录,并创建一个 tarball,当在系统上解压缩时,它会将自身解压缩到/etc/service
,/usr/local
和/opt/myproject
.
经典方法似乎是使用,tar -czvf -C tmp/tarball .
但这会导致以 .tar 开头的条目的 tar 列表./
。
我的灵感来自 Go 语言的包,这表明它应该安装:
tar -C /usr/local -xzf go1.0.3.linux-amd64.tar.gz
Run Code Online (Sandbox Code Playgroud)
这对我的用例来说是理想的,我希望能够做到:
tar -C / -xzf myproject.tar.gx
Run Code Online (Sandbox Code Playgroud)
这反过来会将最初的文件提取~/some-working-directory/tmp/tarball/_____
到/_____
,这意味着我可以简单地伪造安装结构。
当然,这可能会更好地通过类似fpm
.
我偶然发现了fakechroot
,这似乎很有希望,但并不令人惊讶,chroot 中不存在 tar,当我开始进入那个兔子洞时,我只是假设我做错了什么,应该寻求帮助。
我的 tmux 偶尔会进入一种奇怪的状态,其中一半边框(无论方向或(tmux)窗口焦点)是粗体、突出显示的?
请参阅下面的屏幕截图:
奇怪的是,即使完全杀死 tmux 之后我也可以从这种状态中恢复,但是一半边框是彩色的,请参见第二个屏幕截图:
在第二个屏幕截图中,尽管边框的一半是白色的,但另一半是绿色的。
注意:橙色/绿色的差异在这里无关紧要,我尝试了“修复”奇怪的边框,迫使它们变成橙色,这影响了我制作的屏幕截图。
我不相信我有任何不寻常的配置:
new-session -n $HOST
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'nhdaly/tmux-scroll-copy-mode'
set -g @plugin 'tmux-plugins/tmux-yank'
set-window-option -g mode-keys vi
set-window-option -g allow-rename off
set-window-option -g automatic-rename off
set-option -g mouse on
set -g @shell_mode 'vi'
set -g @yank_selection 'clipboard'
set -g @yank_selection_mouse 'clipboard'
set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)
这是一个错误功能吗?为什么只有一半颜色/粗体,为什么粗体只有时发生,为什么它不受缩放或鼠标在窗口内或窗口周围单击的影响?
事实上,我无法可靠地重现,也无法在发生这种情况时忽略它,这让我认为这是一个错误,但我只是不确定。
tmux 版本是 2.9x,终端是 alacritty 0.4.0,操作系统是 Feroda,我的$TERM
变量似乎是screen