2

我再次有一个关于 ssh 问题的问题:

在嵌入式系统(没有显示器,没有键盘)上,我唯一的登录界面是 ssh。Telnet 也被禁用。(我目前正在尝试启用它,希望渺茫......)

目前我唯一的互动是接收答案并通过!ping浏览我的共享文件。smb://

ssh 的回答总是:

$ ssh -vvvvl root 192.168.0.3
OpenSSH_5.5p1 Debian-4ubuntu4, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.3 [192.168.0.3] port 22.
debug1: Connection established.
debug1: identity file /home/simon/.ssh/id_rsa type -1
debug1: identity file /home/simon/.ssh/id_rsa-cert type -1
debug1: identity file /home/simon/.ssh/id_dsa type -1
debug1: identity file /home/simon/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3p2 Debian-8
debug1: match: OpenSSH_4.3p2 Debian-8 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu4
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

但是我通过将硬盘从设备中拉出并在连接到另一台机器时操作其上的文件来直接访问硬盘。

在我注销并被锁定之前,我的最后一步是sudo rm /etc/ssh/*host*key*,因为找不到而dpkg-reconfigure openssh-server失败。dpkg-reconfigure所以我想问题是,密钥被删除了。

我现在的问题是:如何在sshd不在目标系统上运行任何命令的情况下离岸创建密钥并提供它们,或者如何sshd让我在没有密钥的情况下登录?

感谢您的帮助,如果有的话..?!

4

2 回答 2

2

您可以在方便的 Linux 系统上生成一组新的主机密钥,如下所示:

ssh-keygen -t rsa -b 2048 -f ssh_host_rsa_key
ssh-keygen -t dsa -b 1024 -f ssh_host_dsa_key

ssh-keygen要求您输入密码时,Enter无需输入任何内容即可点击。主机密钥必须有一个空密码。

这会在您的当前目录中创建以下文件:

ssh_host_rsa_key
ssh_host_rsa_key.pub
ssh_host_dsa_key
ssh_host_dsa_key.pub

然后,您可以挂载设备的硬盘并将这四个文件复制到etc/ssh.

请注意,当您之后尝试 ssh 到系统时,您的 ssh 客户端会抱怨密钥与预期的不同,并且可能会拒绝连接。如果您正在运行 OpenSSH 客户端,您可以通过ssh-keygen再次使用来更正此问题:

ssh-keygen -R <your_server_hostname>
于 2011-02-03T08:40:30.837 回答
0

ssh -vvvvl root 192.168.0.3

应该:

ssh -vvvvl root@192.168.0.3

我不知道这是否只是您在 stackoverflow 上发帖时的拼写错误,还是您在命令行中输入的。

于 2011-02-03T07:40:48.240 回答