问题标签 [dropbear]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android上的Dropbear ssh隧道段错误
我是一名安卓开发人员,我们正在尝试在安卓设备和 Linux 主机之间建立一个 ssh 隧道。我正在为这个解决方案使用 dropbear。
这是我的步骤:
1)我通过 dbclient 连接到我的主机,端口为 0
2)然后我正在运行 dropbear
3)现在我可以使用 /sdcard/out 中的公钥和端口从我的主机通过 ssh 连接到设备
就是这样,它工作得很好。对于我的解决方案,我需要自动建立隧道。
我在 /system/bin/ 下创建了 bash 脚本(构建带有脚本的 android 映像)。在 init.rc 中添加了相应的服务来自动运行我的脚本。
该脚本实际上每 5 秒由系统运行一次。但是当我尝试连接到设备时,我收到以下错误消息:
最奇怪的是,当我手动运行我的脚本时,它工作正常,但是当系统运行相同的脚本时,我收到上面描述的错误消息。
“dmesg”、“logcat”、甚至“ssh ... -vvv”都不会给出任何错误信息。
我认为问题出在“dropbear”本身,因为当系统运行“dbclient”然后我手动运行“dropbear -E -R”时,隧道工作正常。
这是我的“ssh ... -v”输出
linux - Dropbear - 当用户的 shell 被重定向时不能 SSH
我在带有 Buildroot+Dropbear 的嵌入式系统上运行 Linux。如果这很重要,我正在使用 systemd 进行初始化。
通过 SSH 登录对于 root 可以正常工作,但不能以普通用户身份登录(给出“权限被拒绝,请重试。”)。用户的 shell 被重定向到自定义程序,在 /etc/passwd 中有这个条目:
admin
当 shell为/bin/sh
. /opt/customCLI
是我编写的一个程序,它接受最少的命令集。
有没有办法直接支持 SSH 登录到自定义程序?
embedded-linux - 在受限嵌入式系统上使用 sshd 启动子系统进程
我正在尝试yuma123
在嵌入式 Linux 系统上运行 NETCONF 服务器的开源实现。
NETCONF 服务器使用sshd
, 并且yuma123
似乎假定它是 的openssh
实现,sshd
因为它使用了该/etc/ssh/sshd_config
文件。
特别是,README
文件中的yuma123
状态:
但是,由于内存限制,嵌入式系统目前使用dropbear
缩减的实现,并且由于可执行文件、依赖库等的大小sshd
,我很难openssh
(同时yuma123
)安装在嵌入式系统上。
我可以获取/修改dropbear
sshd
给我类似的功能吗?我可以大幅削减openssh
sshd
到足够小的尺寸吗?关于解决此问题的好方法的任何(其他)建议?
python-2.7 - 在通过 init 脚本启动的 python 脚本中,无法通过 os.system('scp (...)') 下载文件
我正在尝试使用由 procd init 脚本作为服务启动的 Python 脚本 (scp.py) 中的 os.system() 调用的 scp 命令下载远程文件。
该脚本在 OpenWrt 15.05.1 上运行(它使用 BusyBox 来实现 shell 环境)。SCP 本身由 dropbear SSH ( https://matt.ucc.asn.au/dropbear/dropbear.html )处理
代码很简单:
当使用命令“python scp.py”在终端中启动时,程序表现良好。下载成功并产生以下输出:
但是,当使用命令 /etc/init.d/scp_test start 作为服务启动时,该程序无法下载任何内容
此外,使用 logread 命令对系统日志进行快速调查显示:
vps500141.ovh.net 已经在 /root/.ssh/known_hosts 中有一个条目,因此脚本运行时找不到它是相当令人惊讶的。
我还尝试将“-o StrictHostKeyChecking=no”选项添加到 scp 命令,但它似乎也不起作用。
注意:这是初始化脚本 /etc/init.d/scp_test 的内容
arm - 无法通过 SSH 连接到运行 dropbear sshd 的 QEMU 虚拟机
我已经建立了一个模拟 vexpress-a9 机器的 QEMU 虚拟机。我使用 buildroot 来创建 initrd 系统,并使用 buildroot 下载的 codesourcery 交叉编译器作为编译 Linux 内核的设置的一部分。这就是我调用 qemu 的方式
qemu-system-arm -m 512 -M vexpress-a9
-dtb linux-4.4.192/arch/arm/boot/dts/vexpress-v2p-ca9.dtb
-kernel linux-4.4.192/arch/arm/boot/zImage
-initrd buildroot/output/images/rootfs.cpio
-append "console=ttyAMA0,ip=dhcp"
-net nic,model=lan9118
-net user,hostfwd=tcp::2222-:22
-nographic
它启动得很好。与网络相关的引导消息,表明网络已初始化并且 dropbear sshd 已启动并运行:
Starting network: OK
Starting dropbear sshd: random: dropbear: uninitialized urandom read (32 bytes read, 1 bits of entropy available)
OK
但是eth0
必须手动为接口分配 IP。我在与我的 Linux 主机相同的子网中为其分配了一个未使用的 C 类地址,如下所示:
# ifconfig eth0 192.168.160.150 up
smsc911x 4e000000.ethernet eth0: SMSC911x/921x identified at 0xa12a0000, IRQ: 31
所以ifconfig
现在显示:
netstat
告诉我我们正在监听 22 端口:
我什至可以像这样通过 ssh 进入 localhost:
而从主机上,这是我尝试从 linux 主机 SSH 到该 VM 时看到的:
我很高兴有一些关于此的指示,因为我找不到其他可以尝试的方法
更新 1:在配置 buildroot 时包含 dhcpd。现在无论我使用 dropbear 还是 openssh,日志消息都会出现,直到
此时它只是停止了,我看不到登录提示。删除dhcpd
并使用 dropbear 或 openssh 后,我可以再次看到登录提示(意味着所有初始化脚本都运行完成),但再次没有任何类型的连接。我不明白为什么 dhcpd 认为我们没有载体(当它能够枚举和识别模拟的 NIC 卡时)
UPDATE2:我尝试udhcpc
手动调用以通过 DHCP 获取地址,它确实获得了地址
然而,主机仍然无法访问该机器。我是否需要从主机添加到此 VM 的手动路由?如果是,我该怎么做?QEMU 是否在主机上创建虚拟接口(像工作站一样)?
encryption - dropbear-initramfs 找不到 modprobe 和 blkid
我正在尝试在使用 lvm crypto luks 加密的 debian 系统上进行 dropbear 远程 ssh 启动。
我可以让它在我的树莓派上运行,但不能在我的常规系统上运行
步骤: 1 使用加密的 LVM 安装 debian
然后在前面创建一个带有以下行的 rsa ssh 密钥并将其保存到/etc/dropbear-initramfs/authorized_keys
:
command="/scripts/local-top/cryptroot && kill -9 `ps | grep -m 1 'cryptroot' | cut -d ' ' -f 3`" ssh...
然后:
我可以输入密码并用键盘解密,但是当我使用 ssh 登录时,我得到:
请帮忙?
额外信息:
我的 blkid
我的 /etc/fstab
我的 /etc/crypttab
linux - 在 LUKS-Dropbear-Arch-Raspberry Pi-System 上出现错误:Can't open '/.cryptdev': No such file or directory
我编写了一个脚本来配置图像并将其转换为 sd 卡,以便在 Raspberry Pi 上使用它们。
在此脚本的第 418 行,您将找到以下代码:
这会生成以下输出:
当我启动树莓派并尝试连接它时,我在终端上得到以下输出:
如果有人能告诉我错误在哪里以及我如何解决这个问题,我会很高兴!:)
linux - 无法为 uclibc 交叉编译 dropbear
我正在尝试为缺少 glibc 而使用 uclibc 的 x86 机器交叉编译Dropbear 。为此,我使用自定义 crosstool-ng 工具链为同一指令集交叉编译了 zlib,并将其安装到自定义位置。
我已经复制Projects/zlib_install/include/zlib.h
和Projects/zlib/include/zconf.h
到Projects/dropbear/zlibincludes/
.
我以这种方式设置了我的环境变量:
我以这种方式启动配置脚本:./configure --prefix=/home/msainz/Projects/tmp_top_dir --host=x86
执行终止并出现以下错误:
有什么想法可以解决这个问题吗?提前致谢。
embedded-linux - 如何使用 Yocto 安装 SSH 主机密钥
我正在使用 Yocto 为 RPi 构建我的自定义发行版。我的发行版包括 ssh 服务器(dropbear,但问题对 openssh 也有效)
我注意到的一件烦人的事情是,每次我将新构建的映像刷写到板上时,我都会得到一个新的 SSH 主机密钥,这反过来会导致我的 ssh 客户端警告我服务器的主机密钥已更改,并且我需要从/etc/known_hosts
.
我想知道是否有一种内置机制可以为构建系统提供秘密而不将它们放入源代码控制中。
更具体地说 - 有没有办法告诉 yocto “将此密钥文件作为主机密钥dropbear/sshd
”?
linux - URL 的提取器失败:'file://dropbear.default'。无法从任何来源获取 URL
我正在尝试覆盖 dropbear.default
该层看起来像这样: meta/recipes-core/dropbear
我创建了一个 dropbear_%.bbappend
在那个 dropbear_%.bbappend 文件中我有
FILESEXTRAPATHS_prepend_myfolder := "${THISDIR}/${PN}:${THISDIR}/${MACHINE}:${THISDIR}/files:" -----> 这应该是
${THISDIR}/${MACHINE}:${THISDIR}/文件:"
我仍然遇到同样的错误