终端仿真器的SSH尝试读取/data/.ssh而不是$ home / .ssh -- ssh 领域 和 terminal 领域 android 相关 的问题

Terminal emulator's ssh trying to read /data/.ssh instead of $HOME/.ssh


简体版||繁體版
7
vote

问题

中文

当我尝试使用终端仿真器的ssh时,我得到

ssh:警告:创建/data/.ssh失败:权限被拒绝。

或自2012-08-19:

无法创建目录'/ data / ssh_client'。

但是当我键入:

  echo $HOME /sdcard   

为什么不ssh检查 /sdcard/.ssh /sdcard/ssh_data

英文原文

When I try using Terminal emulator's ssh I get

ssh: Warning: failed creating /data/.ssh: Permission denied.

or since 2012-08-19:

Could not create directory '/data/ssh_client'.

But when I type:

echo $HOME /sdcard 

Why isn't ssh checking /sdcard/.ssh or /sdcard/ssh_data?

     
     
     

回答列表

3
 
vote

当您将SSH运行为root时不会发生。

/ sdcard是一个不安全(!) ssh客户端配置和有价值键的位置(有些用户甚至没有懒惰的原因加密他们的键)。每个应用程序都读取了对该位置的访问权限,因此最有可能刻意地设置而不是/ ssh 出于安全原因。

如果您有root访问权限,请从/ data / ssh_data或/data/.ssh创建symlink to /data/jackpal.androidterm/或创建具有适当访问权限的文件夹(不是系统宽读/写虽然!)。

顺便说一下:
这可能很快解决了。见CyanogenMod的GitHub提交日志这里。摘录:

一些用户有/作为主目录,某些/数据。这个提交修复了ssh 和ssh-keygen试图创建/.ssh,这是易失性和只读的 无论如何。

允许应用程序(例如Android终端仿真器)使用SSH / data / ssh_client仍然存在,并且所有者权限需要 设置为应用程序用户。这可以通过使用真实数据来修复 稍后提交的目录(/数据/数据/"应用程序" )。

 

This doesn't happen when you run ssh as root.

/sdcard is an unsafe(!) location for ssh client config and valuable keys (some users don't even encrypt their keys for reasons of laziness). Each app has read access to that location, so this is most probably set deliberately not to /sdcard/.ssh for security reasons.

If you have root access, create a symlink from /data/ssh_data or /data/.ssh to /data/jackpal.androidterm/ or create the folder with appropriate access rights for the terminal app (not system wide read/write though!).

By the way:
This might be fixed soon. See CyanogenMod's github commit log here. Excerpt:

Some users have / as home directory, some /data. This commit fixes ssh and ssh-keygen trying to create /.ssh which is volatile and read-only anyway.

To allow an app (e.g. Android Terminal Emulator) to use ssh /data/ssh_client still has to exist and owner permissions need to be set to the app user. This could be fixed by using the real data directory (/data/data/"app") in a later commit.

 
 

相关问题

13  真实终端(根或根部)  ( A real terminal root or no root ) 
我在我的笔记本电脑上使用Kubuntu,但这适用于任何Linux发行版。我可以打开一个终端窗口,然后键入 sudo apt-get update , sudo apt-get install packagename. 有一个终端可以在android上执行命令吗?它不一定是"sudo" ,我只是意味着履行命令。我使用G...

9  访问logcat是否需要root?  ( Does access to logcat need root ) 
我的设备已经植根了,这就是我要问的原因。 您是否需要root来监视手机上的logcat流?如果我从手机上的终端内运行logcat命令,那会工作吗? ...

16  是否可以通过shell启用位置服务?  ( Is it possible to enable location services via shell ) 
是否可以通过adb或终端仿真器启用位置服务(GPS或Google NetworkLocation)? 我在扎根的手机上。 额外点:也可以更改其他与系统相关的设置? ...

3  如何为rooted设备安装其他终端命令的捆绑?  ( How to install bundles of additional terminal commands for rooted devices ) 
我最近扎根了HTC野火S设备并闪过Android 4.1.2 AOKP果冻豆类自定义ROM。一个好处是我现在可以使用终端。 我有点习惯于在台式机上使用终端仿真器,但从中从未在Android设备上做过。我注意到没有找到一些命令,例如: $ tree /system/bin/sh: tree: not found ...

0  通过应用程序以编程方式设置分辨率,如何让设备记住新设置?  ( After programmatically setting the resolution through an app how can i make the ) 
所以我通过编辑系统文件来设置分辨率。这是对我有用的唯一方法。更常用,我发出此命令: echo 1080p60hz > sys/class/display/mode 到设备的术语。如果发布,这会成功将分辨率更改为1080p60Hz或不同的值。但是重新启动设备后,返回其先前的分辨率。 nayone知道如何...

8  从终端仿真器运行应用程序[已关闭]  ( Running applications from a terminal emulator ) 
关闭。这个问题是 off-topic 。它目前不接受答案。 想要改进这个问题?更新这个问题,所以它是关于android爱好者堆栈交换的主题。 关闭 ...

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...

1  关闭/杀死“Android终端仿真器”应用程序  ( Closing killing android terminal emulator app ) 
我有一个Sprint LG G3运行Android 4.4.2。我正在使用 Android终端仿真器通过jackpal。在关闭应用程序后重生。我看到终端进程和儿童壳,但这种方式似乎太手动了。 当我从顶部下拉列表中关闭唯一的窗口时,它暂时关闭,然后在"最近的应用程序" 列表中重新出现。有一种不可替换的通知,称"终端会话...

0  php与mysql从Android上的命令行支持  ( Php with mysql support from the command line on android ) 
是否有用于Android的终端仿真器,允许使用MySQL支持使用VI和PHP? PS。遗憾的是,Termux不允许将PHP连接到MySQL。 ...

3  手动安装Split APK  ( Install split apk manually ) 
最近我必须知道一个名为split apks的东西,并发现切片作为无效的apk文件,只有基础是。不幸的是,这意味着通常的默认包安装程序无法处理此操作,因此我必须知道另一件名为SAI的东西,一个拆分APK安装程序,能够与或没有root工作。然而,好奇,我想知道它是如何在内部工作的,并开始做一些研究。我没有走得太远,但我必...




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