private static LoginCredentials getLoginForCommandExecution(Action action) { try { String user = System.getProperty("user.name"); String privateKey = Files.toString(new File(System.getProperty("user.home") + "/.ssh/id_rsa"), UTF_8); return LoginCredentials.builder().user(user).privateKey(privateKey).build(); } catch (Exception e) { System.err.println("error reading ssh key " + e.getMessage()); System.exit(1); return null; } }
public static LoginCredentials currentUser() { String privateKeyKeyFile = System.getProperty("user.home") + "/.ssh/id_rsa"; String privateKey; try { privateKey = Files.toString(new File(privateKeyKeyFile), UTF_8); } catch (IOException e) { throw propagate(e); } assert privateKey.startsWith("-----BEGIN RSA PRIVATE KEY-----") : "invalid key:\n" + privateKey; return LoginCredentials.builder().user(System.getProperty("user.name")).privateKey(privateKey).build(); }
@Override public Optional<LoginCredentials> load(final RunningInstance instance) throws ExecutionException { if ("windows".equals(instance.getPlatform())) { return Optional.of(passwordCredentialsFromWindowsInstance.apply(instance)); } else if (instance.getKeyName() != null) { return Optional.of(LoginCredentials.builder().user(getLoginAccountFor(instance)).privateKey(getPrivateKeyOrNull(instance)).build()); } return Optional.absent(); }
@Override public Optional<LoginCredentials> load(final RunningInstance instance) throws ExecutionException { if ("windows".equals(instance.getPlatform())) { return Optional.of(passwordCredentialsFromWindowsInstance.apply(instance)); } else if (instance.getKeyName() != null) { return Optional.of(LoginCredentials.builder().user(getLoginAccountFor(instance)).privateKey(getPrivateKeyOrNull(instance)).build()); } return Optional.absent(); }
@Override public Optional<LoginCredentials> load(final RunningInstance instance) throws ExecutionException { if ("windows".equals(instance.getPlatform())) { return Optional.of(passwordCredentialsFromWindowsInstance.apply(instance)); } else if (instance.getKeyName() != null) { return Optional.of(LoginCredentials.builder().user(getLoginAccountFor(instance)).privateKey(getPrivateKeyOrNull(instance)).build()); } return Optional.absent(); }
@Override public Optional<LoginCredentials> load(final RunningInstance instance) throws ExecutionException { if ("windows".equals(instance.getPlatform())) { return Optional.of(passwordCredentialsFromWindowsInstance.apply(instance)); } else if (instance.getKeyName() != null) { return Optional.of(LoginCredentials.builder().user(getLoginAccountFor(instance)).privateKey(getPrivateKeyOrNull(instance)).build()); } return Optional.absent(); }
/** * CloudServers images are accessible via the root user, not ubuntu */ @Override protected Map<OsFamily, LoginCredentials> osFamilyToCredentials(Injector injector) { return ImmutableMap.of(OsFamily.WINDOWS, LoginCredentials.builder().user("Administrator").build(), OsFamily.UBUNTU, LoginCredentials.builder().user("root").build()); }
/** * CloudServers images are accessible via the root user, not ubuntu */ @Override protected Map<OsFamily, LoginCredentials> osFamilyToCredentials(Injector injector) { return ImmutableMap.of(OsFamily.WINDOWS, LoginCredentials.builder().user("Administrator").build(), OsFamily.UBUNTU, LoginCredentials.builder().user("root").build()); }
public void testWhenCredentialsNotPresentInImageTemplateOptionsReturnsFromParameter() { LoginCredentials expected = LoginCredentials.builder().user("foo").password("bar").build(); Image image = createMock(Image.class); Template template = createMock(Template.class); expect(template.getImage()).andReturn(image); expect(image.getDefaultCredentials()).andReturn(null); expect(template.getOptions()).andReturn(new TemplateOptions()); replay(template, image); assertEquals(fn.apply(template, expected), expected); verify(template); verify(image); }
public void testWhenLoginCredentialsPresentInImageOverridesIdentityFromLoginCredentialsInTemplateOptions() { Image image = createMock(Image.class); Template template = createMock(Template.class); expect(template.getImage()).andReturn(image); expect(image.getDefaultCredentials()).andReturn(LoginCredentials.builder().user("user").password("password").build()); expect(template.getOptions()).andReturn(TemplateOptions.Builder.overrideLoginUser("ubuntu")); replay(template, image); assertEquals(fn.apply(template), expected); verify(template, image); }
public void testWhenCredentialsNotPresentInImageReturnsCredentialFromTemplateOptionsAndUserFromParameter() { Credentials expected = new Credentials("ubuntu", "password"); Image image = createMock(Image.class); Template template = createMock(Template.class); expect(template.getImage()).andReturn(image); expect(image.getDefaultCredentials()).andReturn(null); expect(template.getOptions()).andReturn(TemplateOptions.Builder.overrideLoginUser("ubuntu")); replay(template, image); assertEquals(fn.apply(template, LoginCredentials.builder().user("foo").password("password").build()), expected); verify(template); verify(image); }
public void testWhenLoginCredentialsPresentInImageOverridesCredentialFromLoginCredentialsInTemplateOptions() { Image image = createMock(Image.class); Template template = createMock(Template.class); expect(template.getImage()).andReturn(image); expect(image.getDefaultCredentials()).andReturn(LoginCredentials.builder().user("ubuntu").password("password2").build()); expect(template.getOptions()).andReturn(TemplateOptions.Builder.overrideLoginPassword("password")); replay(template, image); assertEquals(fn.apply(template), expected); verify(template, image); } }
@Test public void testExpectedBindingsWhenCredentialIsNull() { ProviderMetadata md = AnonymousProviderMetadata.forClientMappedToAsyncClientOnEndpoint( IntegrationTestClient.class, IntegrationTestAsyncClient.class, "http://localhost"); Supplier<Credentials> creds = Suppliers.<Credentials> ofInstance(LoginCredentials.builder().user("user").build()); ExpectedBindings bindings = Guice.createInjector(new BindProviderMetadataContextAndCredentials(md, creds)) .getInstance(ExpectedBindings.class); assertEquals(bindings.creds.identity, "user"); assertEquals(bindings.creds.credential, null); }