我必须创建 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) 我编写了一些脚本,并希望在known_hosts没有任何交互的情况下将远程主机添加到我的文件中。我可以运行类似的命令ssh -o "StrictHostKeyChecking no" root@10.x.x.x,将远程主机密钥添加到我的已知主机,但后面会出现 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 用户身份运行命令?
我需要用新的密钥替换现有的 SSH 密钥,但我在云管理面板中没有看到此类选项。这样做的正确方法是什么?
我在 .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-keygen -t rsa)上生成密钥ssh-copy-id或通过其他方式)我已经看到 AWS 服务器(亚马逊网络服务器)在服务器创建过程中提供了一个密钥,然后客户端可以使用它来登录。
现在我有一台服务器,我想在其中生成密钥并将其分发给我的客户。每个拥有该密钥的人都必须能够访问服务器。
我在这里错过了关于公钥/私钥的任何理论吗?
我创建了一堆 ed25519 密钥来ssh-keygen连接到我可以访问的不同机器。然而,我注意到它们都以相同的、相当长的前缀开头:
AAAAC3NzaC1lZDI1NTE5A...
这是为什么?这是安全问题吗?一个错误?或者只是我不知道的所有 ed25519 键的某些属性?
我有 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. 因此,该管理器仅将密钥存储在一行中。
在 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崩溃会抱怨日志日志中缺少主机密钥。为什么?我该如何解决这个问题?
我有一台运行 OS X、XP 和 ubuntu 的计算机。不过,有时它会在 VM 或实际安装中运行多个这些操作系统。我有几台服务器需要不断通过 SSH 连接 - 但有时我会更改主机或擦除服务器。
无论如何,每次我使用新的操作系统或服务器时,我都厌倦了设置新的 SSH 密钥对。这些服务器上的所有信息都在我的电脑上——所以如果有人发现我在这里,让它通过了所有的看门狗,并偷走了我的电脑,他们将不需要闯入我的服务器,因为我没有任何操作系统使用文件加密(我什至不知道如何打开它)。
如何将我的密钥对同步到我在这台 PC 上使用的所有操作系统?在 Windows 上,我使用 Putty/Pageant,而 Snow Leopard 和 Linux 使用本机 SSH。所以文件格式并不完全相同。
ssh-keys ×10
ssh ×7
linux ×3
awk ×1
centos ×1
cloud-init ×1
known-hosts ×1
private-key ×1
rhel8 ×1
saltstack ×1
sed ×1
ssh-agent ×1
ssh-keygen ×1
ssh-tunnel ×1