Android 绑定(bind)到特权端口 22

标签 android networking ssh serversocket

我正在开发需要支持 ssh 的自定义 Android 设备。我们实现了一个可处理传入 ssh 连接的工作服务,但我们目前必须根据 Linux 权限要求在端口 >1024 上运行它。

有没有办法在端口 22 上运行服务器?

当然,我们有系统级别的访问权限。出于安全原因,我们试图避免将 root 访问权限暴露到应用程序空间中。我们确实有办法执行 root 命令,但如果有必要的话。

最佳答案

在这个级别上,Android 基本上就是 Linux,因此有关 Linux 的任何信息都可能适用。看看Is there a way for non-root processes to bind to "privileged" ports on Linux? ,有一个公认的答案似乎适用于最新版本的 Android。

setcap(8) 只会进行系统调用,如果它在 Android 上不可用,您可以将其 bundle 或查看来源并进行相同的系统调用。

关于Android 绑定(bind)到特权端口 22,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617739/

相关文章:

networking - 如何在 OSX 上为 TUN 接口(interface)设置 IP 地址(没有目标地址)?

c++ - 将 IP 地址添加到 NIC 的跨平台方式(使用 C++)

android - json android图片和文字重复

android - 将 Android 位图的一部分重叠绘制到自身上是否安全?

javascript - 安卓 : Inject JavaScript before loading the URL in webview

windows - 测试套接字连接的好工具?

php - 在 PHP 中生成 RSA 私有(private) SSH key

Git 强制使用 HTTPS

ssh - 使用 qdel 一次删除我的所有作业,而不是一次删除一个作业

安卓日志 'GC_EXTERNAL_ALLOC' 'GC_FOR_MALLOC'