每当我尝试运行时apt-get install openssh-server
都会收到以下错误:
root@ubuntu-phablet:/home/hablet# apt-get install openssh-server
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to write to /var/cache/apt
E: The package lists or status file could not be parsed or opened.
答案1
随着官方最终版本的发布,Ubuntu for Phones 附带了“android-gadget-service”工具,您可以使用它来管理 adb、mtp、USB 网络共享和 ssh。
通过 USB 连接你的设备,启用开发者模式:
“系统设置->关于本机->开发者模式”
...然后运行(从您的电脑运行,确保手机屏幕已解锁,否则 adb 将拒绝让您进入):
adb shell android-gadget-service enable ssh
复制你的公钥拨打电话:
adb shell mkdir /home/phablet/.ssh
adb push ~/.ssh/id_rsa.pub /home/phablet/.ssh/authorized_keys
adb shell chown -R phablet.phablet /home/phablet/.ssh
adb shell chmod 700 /home/phablet/.ssh
adb shell chmod 600 /home/phablet/.ssh/authorized_keys
现在您可以在手机上查找您的 IP 并使用 ssh 进行连接:
adb shell ip addr show wlan0|grep inet
ssh phablet@<IP from above command>
答案2
激活 ssh 访问完全通过 wifi,没有开发者模式在通电话,无需任何特殊工具在您的计算机上无需使用 USB:
- 如果您还没有 ssh 密钥对,请
ssh-keygen
在您的计算机上输入并按照说明生成一个。 - 从 App Store 在手机上安装终端应用程序。
打开终端并输入(如果手机处于横向模式则更容易操作):
sudo setprop persist.service.ssh true mkdir -pm700 ~/.ssh ip addr nc -l 1234 > ~/.ssh/authorized_keys
(最后一个命令将挂起;这是预料之中的)
根据上述命令返回的内容,在终端中查找您手机的 IP 地址
ip addr
。在您的计算机上输入(
192.0.2.1
用上面的手机 IP 地址替换):nc 192.0.2.1 1234 < ~/.ssh/id_rsa.pub
如果成功,手机终端上的最后一条命令将会成功。
在您的计算机上输入(再次
192.0.2.1
用上面的手机 IP 地址替换):ssh [email protected]
如果您的手机的 IP 地址发生变化,您将需要
ip addr
再次使用手机上的终端应用程序并相应地调整您的 ssh 命令。
答案3
OpenSSH 服务器目前(截至 2013 年 9 月 13 日)已预装Ubuntu Touch安装。但是,它也被禁用默认情况下. 您也不希望 SSH 从根。
您需要使用 USB 连接设备输入以下内容:
adb shell
su - phablet
sudo tee /etc/init/ssh.override < /dev/null
恢复为禁用
echo "manual" | sudo tee /etc/init/ssh.override
更新:(2014 年 3 月 9 日)
上述答案不再有效。
截至 2014 年 3 月初,文件
/etc/init/ssh.override
仍然存在,更改其内容不允许 SSH(实际上是sshd守护进程(daemon)在启动时运行。最新版本(经过测试226,但可能更早)现在支持新的元标志持久服务.ssh,以允许 SSH(sshd守护进程)在启动时重新启动。
进入命令提示符(在设备上)
adb shell
su - phablet
启动 SSH,并设置标志
sudo service ssh start
sudo setprop persist.service.ssh true
重启设备
sudo reboot
SSH 守护程序应自动启动
sudo service ssh status
要禁用 SSH 自动启动,请更改标志:
sudo setprop persist.service.ssh false
答案4
安装 Ubuntu SDK 并在设备面板中单击“打开设备的 SSH 连接”。奖励:您将无法抗拒编写新的范围...