标签: ssh-keys

使用身份验证密钥创建 SSH 隧道 - 语法

我必须创建 SSH 隧道来将部署服务器连接到 VPN:

DeploymentServer --> Gateway --> PrivateServer

每台机器都使用一个密钥,我尝试了以下命令:

myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP

然后在另一个终端窗口中:

myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@SERVER_PRIVATE_IP

但它不起作用,我收到超时错误。我的端口 1122 已打开,我可以通过 SSH 进行连接。我不知道我做错了什么,我的语法正确吗?

这是我的第一个隧道,所以不要笑我!


编辑1

我添加-v并修复了第二个 SSH 调用。


第一次调用: myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP -v 响应:debug1: Authentication succeeded (publickey).

第二次通话: myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@localhost -v

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-tunnel ssh-keys

4
推荐指数
1
解决办法
4万
查看次数

在没有提示的情况下将远程主机添加到 known_hosts 文件

我编写了一些脚本,并希望在known_hosts没有任何交互的情况下将远程主机添加到我的文件中。我可以运行类似的命令ssh -o "StrictHostKeyChecking no" root@10.x.x.x,将远程主机密钥添加到我的已知主机,但后面会出现 ssh 密码提示。在没有密码提示的情况下有什么方法可以做到这一点?

linux ssh centos known-hosts ssh-keys

4
推荐指数
1
解决办法
2万
查看次数

使用 salt 为非 root 用户生成 ssh 密钥

我需要为用户 helen 生成 ssh 密钥(公共/私有对)。该用户已经在我所有的盐奴中了。如何从我的 salt master 为该用户生成 ssh 密钥?

对于 root 用户,我使用此命令生成了密钥,效果很好:

salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /root/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)

我可以发出以下命令,为 helen 生成 ssh 密钥;但权限和所有权会不同;因此需要再次发出命令来更正权限和所有权:

salt '*application-server-*' cmd.run "ssh-keygen -q -N '' -f /home/helen/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)

salt 有没有办法以用户 helen 而不是 root 的身份运行此命令?

一般来说,salt 有没有办法以非 root 用户身份运行命令?

linux ssh-keys saltstack

4
推荐指数
1
解决办法
5456
查看次数

如何更改 Google Cloud 上的 SSH 密钥?

我需要用新的密钥替换现有的 SSH 密钥,但我在云管理面板中没有看到此类选项。这样做的正确方法是什么?

ssh ssh-keys google-compute-engine google-cloud-platform

4
推荐指数
1
解决办法
6082
查看次数

每次登录时 ssh-agent 进程如何增加

我在 .bashrc 文件中添加了以下行,以启动 ssh-agent(如果它未运行)。

if [ -z "$SSH_AUTH_SOCK" ];then eval `ssh-agent -s`;ssh-add ~/.ssh/my_private_key;fi
Run Code Online (Sandbox Code Playgroud)

但每次我再次登录时,ssh-agent 进程的数量都会增加如何避免这种情况。请查看以下日志并告诉我做错了什么。

[vm@localhost ~]$ ssh root@192.168.x.x
Last login: Wed Feb 15 06:32:07 2017 from x.x.x.x
[root@server ~]#  pgrep ssh-agent | wc -l
2
[root@server ~]# exit
Shared connection to x.x.x.x closed.

[vm@localhost ~]$ ssh root@192.168.x.x
Last login: Wed Feb 15 06:32:20 2017 from x.x.x.x
[root@server ~]#  pgrep ssh-agent | wc -l
3
[root@server ~]# exit
Shared connection to x.x.x.x closed.

[vm@localhost ~]$ ssh root@192.168.x.x
Last login: Wed …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-keys ssh-agent

4
推荐指数
1
解决办法
4638
查看次数

服务器端的SSH密钥认证

我通常按​​如下方式进行 ssh 密钥认证:

  1. 在客户端 pc ( # ssh-keygen -t rsa)上生成密钥
  2. 将密钥复制到服务器(使用ssh-copy-id或通过其他方式)
  3. 从客户端 PC 访问服务器。

我已经看到 AWS 服务器(亚马逊网络服务器)在服务器创建过程中提供了一个密钥,然后客户端可以使用它来登录。

现在我有一台服务器,我想在其中生成密钥并将其分发给我的客户。每个拥有该密钥的人都必须能够访问服务器。

  1. 我怎样才能做到这一点?
  2. 我应该如何命名分发给客户的这些密钥?是公钥吗?

我在这里错过了关于公钥/私钥的任何理论吗?

linux ssh ssh-keys

4
推荐指数
1
解决办法
1724
查看次数

具有相同前缀的多个 ed25519 键

我创建了一堆 ed25519 密钥来ssh-keygen连接到我可以访问的不同机器。然而,我注意到它们都以相同的、相当长的前缀开头:

AAAAC3NzaC1lZDI1NTE5A...

这是为什么?这是安全问题吗?一个错误?或者只是我不知道的所有 ed25519 键的某些属性?

ssh-keygen ssh-keys

4
推荐指数
1
解决办法
971
查看次数

如何从一行、三行输入 SSH 私钥

我有 ssh 密钥,类似这样的东西

-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

当然这个键不起作用。当我在做手工的时候,像这样的东西

-----BEGIN RSA PRIVATE KEY----- 
my_super_secret_password 
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

有用。当我删除 this-----BEGIN RSA PRIVATE KEY-----和 this 时-----END RSA PRIVATE KEY-----,我的 ssh-key 不起作用。

所以,问题。如何,我可以通过一些命令自动制作,比如sedor awk,或任何其他命令,我如何从这个字符串中制作

-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----

这三个字符串

-----BEGIN RSA PRIVATE KEY----- 
my_super_secret_password 
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。如果你知道关于这个问题的任何其他答案,我很高兴听到你的消息。原因,为什么我需要它,因为我在AWS Secret Manager. 因此,该管理器仅将密钥存储在一行中。

ssh awk sed private-key ssh-keys

4
推荐指数
2
解决办法
8009
查看次数

为什么RHEL8系统在丢失SSH主机密钥时不自动生成?

在 RHEL 8 及更早版本上,通常情况下,SSH 主机密钥在丢失时/etc/ssh由服务自动生成sshd。通常应该有:

/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
Run Code Online (Sandbox Code Playgroud)

甚至重新启动节点systemctl restart sshd就足够了。

但从次要版本 RHEL 8.7 开始,这可能不再起作用,并且sshd崩溃会抱怨日志日志中缺少主机密钥。为什么?我该如何解决这个问题?

ssh ssh-keys cloud-init rhel8

4
推荐指数
1
解决办法
4419
查看次数

管理共享 SSH 密钥?

我有一台运行 OS X、XP 和 ubuntu 的计算机。不过,有时它会在 VM 或实际安装中运行多个这些操作系统。我有几台服务器需要不断通过 SSH 连接 - 但有时我会更改主机或擦除服务器。

无论如何,每次我使用新的操作系统或服务器时,我都厌倦了设置新的 SSH 密钥对。这些服务器上的所有信息都在我的电脑上——所以如果有人发现我在这里,让它通过了所有的看门狗,并偷走了我的电脑,他们将不需要闯入我的服务器,因为我没有任何操作系统使用文件加密(我什至不知道如何打开它)。

如何将我的密钥对同步到我在这台 PC 上使用的所有操作系统?在 Windows 上,我使用 Putty/Pageant,而 Snow Leopard 和 Linux 使用本机 SSH。所以文件格式并不完全相同。

ssh-keys

3
推荐指数
1
解决办法
493
查看次数