2017-12-04 3 views
0

Ich hätte gerne Zugang zu ssh-Schlüssel auf einer Vagabund-Box, so dass ich von dort auf andere Hosts zugreifen kann. Ich mache dasssh von vagrant und mein Benutzername

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

und diese in ~/.ssh/config

Host 127.0.0.1 
    ForwardAgent yes 

(Anmerkung an künftige Generationen: nicht localhost), dann vagrant reload. Gut.

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

Aber jetzt habe ich noch ausdrücklich meinen Benutzernamen verwenden, da Benutzer vagrant ist nicht das, was ich will, wenn ich zu anderen Welten durch ssh springen. Ich möchte dies skripten und die Skripte in meinem Team teilen, also ist die Eingabe meines Namens nicht die Antwort.

#!/bin/bash 
ssh -L 1234:host.example.com:1234 [email protected] 

Wir konnten alle einig, eine Umgebungsvariable zu setzen, wie für mich VAGRANT_SSH_USER=jeff und verwenden Sie dann, dass in unseren Skripten. Aber vielleicht gibt es einen besseren Weg, der nicht die Festlegung von Umgebungsvariablen erfordert.

#!/bin/bash 
ssh -L 1234:host.example.com:1234 [email protected] 

Danke.

Antwort

0

Sie können $ USER in Ihr ssh-Skript übergeben. VAGRANT_SSH_USER = $ USER.

hoffe das hilft