本文整理汇总了Golang中github.com/juju/juju/utils/ssh.Options.SetIdentities方法的典型用法代码示例。如果您正苦于以下问题:Golang Options.SetIdentities方法的具体用法?Golang Options.SetIdentities怎么用?Golang Options.SetIdentities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/juju/utils/ssh.Options
的用法示例。
在下文中一共展示了Options.SetIdentities方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestCopy
func (s *SSHCommandSuite) TestCopy(c *gc.C) {
var opts ssh.Options
opts.EnablePTY()
opts.AllowPasswordAuthentication()
opts.SetIdentities("x", "y")
opts.SetPort(2022)
err := s.client.Copy([]string{"/tmp/blah", "[email protected]:baz"}, &opts)
c.Assert(err, gc.IsNil)
out, err := ioutil.ReadFile(s.fakescp + ".args")
c.Assert(err, gc.IsNil)
// EnablePTY has no effect for Copy
c.Assert(string(out), gc.Equals, s.fakescp+" -o StrictHostKeyChecking no -o ServerAliveInterval 30 -i x -i y -P 2022 /tmp/blah [email protected]:baz\n")
// Try passing extra args
err = s.client.Copy([]string{"/tmp/blah", "[email protected]:baz", "-r", "-v"}, &opts)
c.Assert(err, gc.IsNil)
out, err = ioutil.ReadFile(s.fakescp + ".args")
c.Assert(err, gc.IsNil)
c.Assert(string(out), gc.Equals, s.fakescp+" -o StrictHostKeyChecking no -o ServerAliveInterval 30 -i x -i y -P 2022 /tmp/blah [email protected]:baz -r -v\n")
// Try interspersing extra args
err = s.client.Copy([]string{"-r", "/tmp/blah", "-v", "[email protected]:baz"}, &opts)
c.Assert(err, gc.IsNil)
out, err = ioutil.ReadFile(s.fakescp + ".args")
c.Assert(err, gc.IsNil)
c.Assert(string(out), gc.Equals, s.fakescp+" -o StrictHostKeyChecking no -o ServerAliveInterval 30 -i x -i y -P 2022 -r /tmp/blah -v [email protected]:baz\n")
}
示例2: TestCommandIdentities
func (s *SSHCommandSuite) TestCommandIdentities(c *gc.C) {
var opts ssh.Options
opts.SetIdentities("x", "y")
s.assertCommandArgs(c, s.commandOptions([]string{echoCommand, "123"}, &opts),
fmt.Sprintf("%s -o StrictHostKeyChecking no -o PasswordAuthentication no -o ServerAliveInterval 30 -i x -i y localhost %s 123",
s.fakessh, echoCommand),
)
}
示例3: newSshClient
func newSshClient(host string) *sshClient {
options := ssh.Options{}
options.SetIdentities("/var/lib/juju/system-identity")
return &sshClient{
client: ssh.DefaultClient,
host: "[email protected]" + host,
options: &options,
}
}
示例4: runViaSSH
// runViaSSH runs script in the remote machine with address addr.
func runViaSSH(addr string, script string) error {
// This is taken from cmd/juju/ssh.go there is no other clear way to set user
userAddr := "[email protected]" + addr
sshOptions := ssh.Options{}
sshOptions.SetIdentities("/var/lib/juju/system-identity")
userCmd := sshCommand(userAddr, []string{"sudo", "-n", "bash", "-c " + utils.ShQuote(script)}, &sshOptions)
var stderrBuf bytes.Buffer
userCmd.Stderr = &stderrBuf
if err := userCmd.Run(); err != nil {
return errors.Annotatef(err, "ssh command failed: %q", stderrBuf.String())
}
return nil
}
示例5: TestCommandClientKeys
func (s *SSHCommandSuite) TestCommandClientKeys(c *gc.C) {
defer overrideGenerateKey(c).Restore()
clientKeysDir := c.MkDir()
defer ssh.ClearClientKeys()
err := ssh.LoadClientKeys(clientKeysDir)
c.Assert(err, gc.IsNil)
ck := filepath.Join(clientKeysDir, "juju_id_rsa")
var opts ssh.Options
opts.SetIdentities("x", "y")
s.assertCommandArgs(c, s.commandOptions([]string{echoCommand, "123"}, &opts),
fmt.Sprintf("%s -o StrictHostKeyChecking no -o PasswordAuthentication no -o ServerAliveInterval 30 -i x -i y -i %s localhost %s 123",
s.fakessh, ck, echoCommand),
)
}
示例6: TestCommandDefaultIdentities
func (s *SSHCommandSuite) TestCommandDefaultIdentities(c *gc.C) {
var opts ssh.Options
tempdir := c.MkDir()
def1 := filepath.Join(tempdir, "def1")
def2 := filepath.Join(tempdir, "def2")
s.PatchValue(ssh.DefaultIdentities, []string{def1, def2})
// If no identities are specified, then the defaults aren't added.
s.assertCommandArgs(c, s.commandOptions([]string{echoCommand, "123"}, &opts),
fmt.Sprintf("%s -o StrictHostKeyChecking no -o PasswordAuthentication no -o ServerAliveInterval 30 localhost %s 123",
s.fakessh, echoCommand),
)
// If identities are specified, then the defaults are must added.
// Only the defaults that exist on disk will be added.
err := ioutil.WriteFile(def2, nil, 0644)
c.Assert(err, gc.IsNil)
opts.SetIdentities("x", "y")
s.assertCommandArgs(c, s.commandOptions([]string{echoCommand, "123"}, &opts),
fmt.Sprintf("%s -o StrictHostKeyChecking no -o PasswordAuthentication no -o ServerAliveInterval 30 -i x -i y -i %s localhost %s 123",
s.fakessh, def2, echoCommand),
)
}