- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了与这个问题几乎相同的问题,但从未得到回答:
nixops: how to use local ssh key when deploying on machine with existing nixos (targetEnv is none)?
虽然我没有使用 Terraform。只是 NixOS + NixOps。到目前为止,我:
nixos-rebuild 切换
ssh
使用密码进入 VM,并将公钥添加到 /root/.ssh/authorized_keys
现在我可以使用新 key 手动通过 ssh 进入 VM,正如预期的那样:
ssh -i .secrets/vultrtest1_rsa root@XXX.XXX.XXX.XXX
很酷。接下来,我将现有的 NixOS 配置文件复制到我的笔记本电脑,并尝试将它们连接到 NixOps。我尝试了一个最小的 test1.nix
,并添加了 deployment."none"
和/或 users.users.root.openssh
部分下面。
vultrtest1
├── configuration.nix
└── hardware-configuration.nix
test1.nix
# test1.nix
{
network.description = "vultr test 1";
network.enableRollback = true;
vultrtest1 = { config, pkgs, ... } : {
deployment.targetHost = "XXX.XXX.XXX.XXX";
imports = [ ./vultrtest1/configuration.nix ];
# deployment.targetEnv = "none"; # existing nixos vm
# same result with or without this section:
deployment."none" = {
sshPrivateKey = builtins.readFile ./secrets/vultrtest1_rsa;
sshPublicKey = builtins.readFile ./secrets/vultrtest1_rsa.pub;
sshPublicKeyDeployed = true;
};
# same result with or without this:
users.users.root.openssh.authorizedKeys.keyFiles = [ ./secrets/vultrtest1_rsa.pub ];
};
}
在所有情况下,当我尝试创建和部署网络时,NixOps 会尝试生成另一个 SSH key ,然后无法使用它登录:
$ nixops create test1.nix -d test1
created deployment ‘b4ac25fa-c842-11ea-9a84-00163e5e6c00’
b4ac25fa-c842-11ea-9a84-00163e5e6c00
$ nixops list
+--------------------------------------+-------+------------------------+------------+------+
| UUID | Name | Description | # Machines | Type |
+--------------------------------------+-------+------------------------+------------+------+
| b4ac25fa-c842-11ea-9a84-00163e5e6c00 | test1 | Unnamed NixOps network | 0 | |
+--------------------------------------+-------+------------------------+------------+------+
$ nixops deploy -d test1
vultrtest1> generating new SSH keypair... done
root@XXX.XXX.XXX.XXX: Permission denied (publickey,keyboard-interactive).
vultrtest1> could not connect to ‘root@XXX.XXX.XXX.XXX’, retrying in 1 seconds...
root@XXX.XXX.XXX.XXX: Permission denied (publickey,keyboard-interactive).
vultrtest1> could not connect to ‘root@XXX.XXX.XXX.XXX’, retrying in 2 seconds...
root@XXX.XXX.XXX.XXX: Permission denied (publickey,keyboard-interactive).
vultrtest1> could not connect to ‘root@XXX.XXX.XXX.XXX’, retrying in 4 seconds...
root@XXX.XXX.XXX.XXX: Permission denied (publickey,keyboard-interactive).
vultrtest1> could not connect to ‘root@XXX.XXX.XXX.XXX’, retrying in 8 seconds...
root@XXX.XXX.XXX.XXX: Permission denied (publickey,keyboard-interactive).
Traceback (most recent call last):
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/bin/..nixops-wrapped-wrapped", line 991, in <module>
args.op()
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/bin/..nixops-wrapped-wrapped", line 412, in op_deploy
max_concurrent_activate=args.max_concurrent_activate)
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/deployment.py", line 1063, in deploy
self.run_with_notify('deploy', lambda: self._deploy(**kwargs))
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/deployment.py", line 1052, in run_with_notify
f()
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/deployment.py", line 1063, in <lambda>
self.run_with_notify('deploy', lambda: self._deploy(**kwargs))
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/deployment.py", line 996, in _deploy
nixops.parallel.run_tasks(nr_workers=-1, tasks=self.active_resources.itervalues(), worker_fun=worker)
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/parallel.py", line 44, in thread_fun
result_queue.put((worker_fun(t), None, t.name))
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/deployment.py", line 979, in worker
os_release = r.run_command("cat /etc/os-release", capture_stdout=True)
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/backends/__init__.py", line 337, in run_command
return self.ssh.run_command(command, self.get_ssh_flags(), **kwargs)
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/ssh_util.py", line 280, in run_command
master = self.get_master(flags, timeout, user)
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/ssh_util.py", line 200, in get_master
compress=self._compress)
File "/nix/store/kybdy5m979h4kvswq2gx3la3rpw5cq5k-nixops-1.7/lib/python2.7/site-packages/nixops/ssh_util.py", line 57, in __init__
"‘{0}’".format(target)
nixops.ssh_util.SSHConnectionFailed: unable to start SSH master connection to ‘root@XXX.XXX.XXX.XXX’
我错过了什么?也许我可以手动添加刚刚生成的 NixOps key ?
更新:我使用了 SQLiteBrowser查看 NixOps 状态数据库并将生成的公钥粘贴到 authorized_keys
中。现在我可以手动使用新生成的 key ssh
登录,但 NixOps 仍然无法部署。
最佳答案
以一种不太令人满意的方式暂时解决了它:
authorized_keys
~/.ssh
并在 ~/.ssh/config
中添加一个条目>不知道为什么 NixOps 使用本地 ssh 配置,或者如何防止这种情况。有效的条目如下所示:
Host XXX.XXX.XXX.XXX
HostName XXX.XXX.XXX.XXX
Port 22
User root
IdentityFile ~/.ssh/vultrtest1_rsa
将等待几天,然后将此标记为解决方案,除非有人可以解释如何告诉 NixOps 使用 .secrets
中的本地 key 而不是 ~/.ssh
.
关于linux - NixOps:如何部署到现有的 NixOS VM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62957306/
当我启动我的机器时,它会在列表中显示所有代,但将它们命名为“第 49 代”、“第 50 代”等。 有没有办法为世代添加标签,以便我以后可以轻松查看更改的内容?我想要一些类似于可选提交消息的内容,因此它
这几天我读了一些关于 NixOS 的文章并尝试了它,因为我的印象是它可以让我只用一个文件来配置 Linux。 我用的时候用nix-env装了一堆包,所以他们没有进入 configuration.nix
我开始尝试 NixOS 部署。为此,我有一个定义了一些包的存储库,以及一个用于服务器的 configuration.nix。 看来我应该能够在本地测试此配置(我也在运行 NixOS)。我认为将我的 g
我想找到一个可用字体列表,我可以在如下表达式中使用这些字体: { i18n = { consoleFont = "font-name-here"; }; } 在我的 configura
我一直在玩 NixOs,想知道如何修改配置文件。例如,我试图修改 ssh 配置文件 /etc/ssh/ssh_config (以允许 root )但是我无法保存文件,因为它只是一个链接。我明白手动修改
我正在尝试在 nixos 中配置一个容器 containers例如: containers.abc123 = { config = { config, pkgs, ... }: {
我真的很喜欢 nixos/nix 的确定性,但我很难理解为我的使用定制包的最佳方法。我使用 nixpkgs.config.packageOverrides 属性取得的成功有限,但它很痛苦,我发现它失败
我真的很喜欢 nixos/nix 的确定性,但我很难理解为我的使用定制包的最佳方法。我使用 nixpkgs.config.packageOverrides 属性取得的成功有限,但它很痛苦,我发现它失败
我正在尝试安装 vim-now-haskell在 NixOS 17.09 上。 安装失败,出现异常 *** Installer requires 'curl-config'. Please insta
我正在尝试在haskell中设置一个用于代码开发的NixOS VM,并且在xmonad和emacs的基本安装方面遇到了麻烦。我的相关部分/etc/nixos/configuration.nix是 en
我最近安装了 NixOS,最终得到了 3 个配置文件: bruno(用户个人资料), 默认(由 root 使用)和 系统(由 NixOS 使用)。 我发现为系统配置文件使用稳定 channel 和为我
几天前我开始使用 NixOS。似乎所有东西都有一个配置选项,例如hardware.opengl.driSupport32Bit或 system.copySystemConfiguration . 但问
我想要的是 https://nixos.org/nixpkgs/manual/#sec-pkg-overrideAttrs文件 overrideAttrs它可以与 top-level/all-pack
假设我有我的 NixOS configuration.nix设置如下: {config, pkgs, ...}: { services.openssh.enable = true; } 我现在想要
如何确定我在系统nixos安装上安装的所有软件包(即/etc/nixos/configuration.nix中列出的软件包,我使用sudo nixos-rebuild switch安装的软件包)都使用
我要求的是GCC 8,但我却得到了GCC 7。 $ nix-shell -p gcc8 [nix-shell:~]$ gcc --version gcc (GCC) 7.3.0 到底是怎么回事? 最佳
我使用带有 XMonad 的 NixOS 作为窗口管理器,它是通过 configurations.nix 启用的。这很好用。 启动后,初始登录是通过 NixOS 登录 gui 完成的。 在 Debia
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
今天,我在使用 NixOS 发行版时遇到了一个非常有趣的问题。我只是想创建一个静态编译的 OCaml 程序,但做不到。然后我尝试使用 ANSI C 规范玩具“hello world!”来做到这一点。应
这是一个初学者的问题。所以有一个包vscode-with-extensions . package说: A set of vscode extensions to be installed along
我是一名优秀的程序员,十分优秀!