来自vagrant的ssh和我的用户名

时间:2017-12-04 08:34:56

标签: ssh vagrant vagrantfile

我希望能够访问流浪盒上的ssh密钥,以便我可以从那里访问其他主机。我这样做

Vagrant::Config.run do |config|
   config.ssh.forward_agent = true
end

,这在〜/ .ssh / config

Host 127.0.0.1
  ForwardAgent yes

(注意后代:不是localhost),然后是vagrant reload。好。

╭╴ (master *$%=)╶╮
╰ jeff@birdsong:analytics $ vagrant ssh
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-101-generic x86_64)
[...]
[T] ubuntu@ubuntu-xenial:~ $ ssh-add -l
[...we have identities!...]
[T] ubuntu@ubuntu-xenial:~

但是现在我仍然必须明确使用我的用户名,因为当我通过ssh跳转到其他世界时,用户vagrant不是我想要的。我想编写脚本并在我的团队中共享脚本,所以输入我的名字并不是答案。

#!/bin/bash
ssh -L 1234:host.example.com:1234 jeff@some.host.somewhere

我们都同意设置一个环境变量,就像我VAGRANT_SSH_USER=jeff一样,然后在我们的脚本中使用它。但也许有一种更好的方法并不是每个人都需要设置环境变量?

#!/bin/bash
ssh -L 1234:host.example.com:1234 $VAGRANT_SSH_USER@some.host.somewhere

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将$ USER传递到ssh脚本中。 VAGRANT_SSH_USER = $ USER。

希望这会有所帮助