У меня есть машина с nixos (предоставлена с использованием terraform, config), я хочу подключиться к нему с помощью deployment.targetHost = ipAddress
< /а> и deployment.targetEnv = "none"
Но я не могу настроить nixops на использование ключа /secrets/stage_ssh_key
ssh
Это не работает (на самом деле это не задокументировано, я нашел его здесь https://github.com/NixOS/nixops/blob/d4e5b779def1fc9e7cf124930d0148e6bd670051/nixops/backends/none.py#L33-L35 )
{
stage =
{ pkgs, ... }:
{
deployment.targetHost = (import ./nixos-generated/stage.nix).terraform.ip;
deployment.targetEnv = "none";
deployment.none.sshPrivateKey = builtins.readFile ./secrets/stage_ssh_key;
deployment.none.sshPublicKey = builtins.readFile ./secrets/stage_ssh_key.pub;
deployment.none.sshPublicKeyDeployed = true;
environment.systemPackages = with pkgs; [
file
];
};
}
nixops ssh stage
приводит к запросу пароля, ожидается - вход без пароля
nixops ssh stage -i ./secrets/stage_ssh_key
работает как положено, пароль не спрашивает
Как воспроизвести:
- скачать репозиторий
rm -rf secrets/*
добавить ключи aws в
secrets/aws.nix
{ EC2_ACCESS_KEY="XXXX"; EC2_SECRET_KEY="XXXX"; }
nix-shell
make generate_stage_ssh_key
terraform apply
make nixops_create
nixops deploy
спрашивает пароль
nixops + terraform
, вместо этого простоnixos switch + terraform
. Например. это мой shellHook gist.github.com/srghma/aafd28305441e5e643be2855ef17e373 - person srghma   schedule 25.11.2019