![如何配置 gnu-screen 窗口以从终端继承相同的 ssh-agent 会话?](https://linux22.com/image/209849/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%20gnu-screen%20%E7%AA%97%E5%8F%A3%E4%BB%A5%E4%BB%8E%E7%BB%88%E7%AB%AF%E7%BB%A7%E6%89%BF%E7%9B%B8%E5%90%8C%E7%9A%84%20ssh-agent%20%E4%BC%9A%E8%AF%9D%EF%BC%9F.png)
我想将一些无密码 SSH 登录链接到某些screen
会话,以便每当在屏幕会话中打开一个窗口时,ssh-agent 都会被继承,但每当我在屏幕中打开一个新窗口时,ssh-agent 就会恢复到主会话设置。
这就是我正在尝试的,但它不起作用:
在开始screen
会话之前,我运行eval `ssh-agent`
.这确保了通过钥匙串设置的主 ssh 代理不会被传递。
但是,当我运行时,screen
它会恢复到主 ssh-agent 的设置,即使我eval `ssh-agent`
在该窗口中再次运行,这些设置也不会延续到下一个窗口。
有没有某种方法来运行ssh-agent
可以在每个新窗口中进行的会话screen
?
总之,我认为我需要选择ssh-agent
每当我打开新的终端窗口时应该使用哪个。如果我正在运行多个ssh-agent
会话,是否有办法选择新打开的终端窗口甚至现有终端窗口应使用哪个会话?
答案1
Screen 版本 4.09.00 在这里似乎相当有限,除非我错过了手册中的某些内容。似乎没有像update-environment
tmux 那样的东西。CONTROL+a :允许您键入setenv BLAH foo
以更改屏幕会话保存的值以及此后创建的任何新窗口。也许可以通过 shell.
或source
命令来获取更改后的代理设置,可能通过某种类型的小选择器功能,也可能在 shell 启动时选择一些默认值?