无法在Android中添加主机到“known_hosts” -- ssh 领域 android 相关 的问题

Cannot add host to “known_hosts” in Android


简体版||繁體版
4
vote

问题

中文

我正在使用ssh从我的Android手机连接到我的NAS。 私钥在我的电脑上生成,然后放在手机的SD卡文件夹中。 所以我正在使用身份标志告诉SSH在哪里找到密钥文件,因此

  ssh -i /storage/sdcard/key -p 1000 admin@192.168.10.10   

每次尝试连接时,我都会收到"无法建立的主机真实性" 的消息。所以我被问到我是否想要继续连接,我每次都要手动地说"是" 。

对于某些主机不能添加到已知_hosts,因此我每次都会被问到手动确认。我试图在我的设备上找到".ssh" ,但我找不到它。

  Failed to add the host to the list of known hosts (/data/.ssh/known_hosts)   

可以有人帮忙吗?

谢谢。

编辑:我手动创建/data/.ssh/known_hosts但问题仍然存在

english

I'm connecting from my Android handset to my NAS, using SSH. The private key was generated on my PC and then placed in the sd card folder of the phone. So I'm using the identity flag to tell ssh where to find the key file, so

ssh -i /storage/sdcard/key -p 1000 admin@192.168.10.10 

Every time I try to connect I get the message that "the authenticity of host can't be established". So I am asked whether I want to continue connecting and I have to manually say "yes" every time.

For some the host cannot be added to known_hosts and so I get asked every time to confirm manually. I tried to find ".ssh" on my device but I can't find it.

Failed to add the host to the list of known hosts (/data/.ssh/known_hosts) 

Can someone please help?

Thanks.

EDIT: I have manually created /data/.ssh/known_hosts but the problem persists

  
       
       

回答列表

2
 
vote

原因可能是权限不足。应用程序不能简单地选择创建以下目录 /data (除了自己的 /data/<package_name> 之外,它已在安装应用程序时已创建)。所以这就是它首先失败的原因。

甚至在使用"root powers" 之后创建 /data/.ssh 目录,并放一个(很可能是空的) known_hosts 文件,问题可能是一样的:由创建它们(root)的用户拥有的哪些资产,并且应用程序可能无法进入目录,更不用说地写入文件。

此可能有两种可能的解决方案。首先选择自己授予app SUPER_USER 权限。如果这对您有很好(而且您信任该应用程序),您的问题已经消失了。当然,这需要应用程序来请求 SUPER_USER 权限,这显然在您的情况下。

更严格的方法将向目录和文件授予目录和文件的正确权限。 chown 它到app的用户,或 chmod 适当。如果拥有该应用程序,只有此应用程序只能在那里访问,这将是最好的解决方案。为此,您首先需要弄清楚用户可以完成的用户。使用 ls -l /data/<package_name> (用app的包名称替换 <package_name> ),然后执行 /data/<package_name>0 。

 

The reason could be insufficient permissions. An app cannot simply chose to create a directory below /data (other than its own, /data/<package_name>, which is already created by the Android system when the app is being installed). So this was why it failed in the first place.

Even after you used your "root powers" to create the /data/.ssh directory, and put a (most likely empty) known_hosts file there, the issue was probably the same: both where owned by the user who created them (root), and the app might not have been able to enter the directory, let alone to write into the file.

There are two possible solutions to this. The first you chose yourself was granting the app SUPER_USER privileges. If this is fine with you (and you trust the app for that), your issue is gone with that. Of course this requires the app to request the SUPER_USER permission, which it obviously does in your case.

A more restrictive approach would have been granting the correct privileges to the directory and the file, by e.g. chown it to the app's user, or chmod appropriately. If owned by that app, only this app would have access there, which would be the best solution. For this, you would first need to figure out the user, which could be done e.g. using ls -l /data/<package_name> (replace <package_name> with the package name of the app), and then do a chown -R <user>:<group> /data/.ssh.

 
 

相关问题

24  是否有任何命令行SSH客户端可用于rooted Android手机?  ( Are there any command line ssh clients available for rooted android phones ) 
我当然有connectbot,但我正在寻找我可以脚本的东西。 编辑:要澄清这里,我对来自终端的脚本不感兴趣。我要做的是以自动/计划方式运行SSH命令。 tasker和locale执行是Cron的等同器,我只需要的是'ssh'命令从 脚本运行 。 ...

2  来自Android的SSHFS到NAS  ( Sshfs from android to nas ) 
我正在尝试通过 abcdefghijklmnabcdefghijklmnobcdefghijklmn0 安装到我的NAS上的文件夹上安装任何文件夹。目标将是例如 /sdcard/My Documents/My Recordings 文件夹设置,因此它几乎无限制了。我安装了通过 adb shell 连接。在 /data...

6  在Android上的SSH和Vim / LaTex / C ++最舒适的方法是什么?  ( What is the most comfortable way to ssh and vim latex c on android ) 
如果我应该得到机器人x,我就是辩论。我想用它来工作,意思是乳胶和C ++中的代码。我使用vim。 我知道它可以使用connectbot。但是可能并不意味着我可以在咖啡店替代笔记本电脑。是否有人使用蓝牙键盘与Android设备,如此幸福( http://www.fourhourworkweek.com/blog/201...

4  无法在Android中添加主机到“known_hosts”  ( Cannot add host to known hosts in android ) 
我正在使用ssh从我的Android手机连接到我的NAS。 私钥在我的电脑上生成,然后放在手机的SD卡文件夹中。 所以我正在使用身份标志告诉SSH在哪里找到密钥文件,因此 ssh -i /storage/sdcard/key -p 1000 admin@192.168.10.10 每次尝试连接时,我都会收到...

0  ssh到ubuntu桌面  ( Ssh to ubuntu desktop ) 
我已经使用动态DNS服务(NoIP)在Home上的Ubuntu桌面上设置了SSH服务器。我有一个Wi-Fi Android平板电脑运行Android版本4.4.2。在我的平板电脑上,我可以连接到其他SSH服务器,例如我的大学服务器。但是,我不能直接从我的平板电脑连接到我的桌面;每次尝试超时。但我能够连接到我的大学的服...

7  终端仿真器的SSH尝试读取/data/.ssh而不是$ home / .ssh  ( Terminal emulators ssh trying to read data ssh instead of home ssh ) 
当我尝试使用终端仿真器的ssh时,我得到 ssh:警告:创建/data/.ssh失败:权限被拒绝。 或自2012-08-19: 无法创建目录'/ data / ssh_client'。 但是当我键入:时 echo $HOME /sdcard 为什么不ssh检查 /sdcard/.ssh 或 /sd...

6  Android键盘并重新映射Ctrl键  ( Android keyboard and remapping the ctrl key ) 
我有一个三星Galaxy 10.1运行Android版本4.1.2。我正在使用SSH来远程连接到我的主机,运行Ubuntu 12.04 LTS。一旦我连接,我就在Emacs 24.3中完成了所有工作。我还有一个蓝牙键盘。 我的问题是重新映射 caps lock 键,用作 ctrl 键。我通过更改终端选项中的设置与我的...

5  通过sshdroid(或adb shell)运行tasker任务  ( Running a tasker task via sshdroid or adb shell ) 
我正在尝试通过sshdroid从adb shell手动运行任务任务。我是 在Putty中运行以下内容(Windows SSH客户端): am broadcast -a net.dinglisch.android.tasker.action_task -es task_name 沉默 我得到: 广播:意图{ac...

16  是否有可能使用Android设备作为SSH的远程计算机作为X11服务器?  ( Is it possible to use an android device as x11 server for a remote machine over ) 
当我的台式电脑已启动时,我可以用我的笔记本连接到它,即使通过互联网(我设置了我的路由器将ssh转发到我的台式计算机)。我的桌面计算机运行GNU / Linux(Ubuntu Distro),所以我可以用x终端使用它。我的笔记本也经营Ubuntu。我只需要 ssh -X desktop.ip.addr ,然后我可以在桌...

26  自动连接到Wi-Fi节点,但通过加密路由所有内容  ( Automatically connect to wi fi nodes but route everything through encryption ) 
与我关于VPNS 的问题,有没有办法让我的手机自动连接到未加密的接入点,但通过家庭网络路由所有流量? 这将是一种类似的间歇性,但是自由,数据计划的替代方案,只需同步我的电子邮件并且在看到开放接入点时会自动同步,但没有应用程序发送密码 cookie 在清除a htth://en.wikipedia.org/wiki/r...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有