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.
公式の最終リリースでは、Ubuntu for Phonesに「Android-gadget-service」ツールが同梱されており、adb、mtp、USBテザリング、sshを管理できます。
USB経由でデバイスを接続し、次の場所で開発者モードを有効にします。
「システム設定->この電話について->開発者モード」
...そして実行します(PCから、電話スクリーンのロックを解除してください。
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>
Sshアクセスを有効にするにはwifi全体、開発者モードなし電話、特別なツールなしお使いのコンピューター、および使用せずに) USB:
ssh-keygen
と入力し、指示に従ってキーペアを生成します。ターミナルを開いて入力します(電話を横向きにすると簡単です):
Sudo setprop persist.service.ssh true
mkdir -pm700 ~/.ssh
ip addr
nc -l 1234 > ~/.ssh/authorized_keys
(最後のコマンドがハングします。これは予期されていることです)
上記のip addr
コマンドによって返されるターミナルで、電話のIPアドレスを探します。
コンピューターで、次のように入力します(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コマンドを調整する必要があります。
OpenSSHサーバーは(-2013年9月13日現在)buntu Touchでプリロードされています。ただし、デフォルトでは無効です。また、SSHがrootから動作することを望まない。
デバイスへのUSB接続を使用して、次を入力する必要があります。
adb Shell
su - phablet
Sudo tee /etc/init/ssh.override < /dev/null
無効に戻すには
echo "manual" | Sudo tee /etc/init/ssh.override
上記の答えは現在のものではありません。
2014年3月上旬現在、ファイル/etc/init/ssh.override
はまだ存在していますが、その内容を変更してもSSH(実際にはsshdデーモン)が起動時に実行できません。
最近のビルド(226でテスト済みですが、場合によってはそれ以前)は、新しいメタフラグpersist.service.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
私はちょうどより速い(迅速で汚い)方法を見つけました(注意:安全ではありません!):
1)ターミナルアプリをインストールして開きます
2)ルートに切り替える
Sudo su
(画面ロックパスワードを入力してください)
2)次のコマンドを入力します。
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
echo "AllowUsers phablet" >> /etc/ssh/sshd_config
/usr/sbin/sshd
これでsshサーバーが実行され、画面ロックコードをパスワードとして受け入れます! 注意:今すぐブルートフォースするのは非常に簡単です!すぐに設定を変更してください(PCからsshで接続した後、快適な方法でこれを行うことができます)。
Sshdを手動で実行するため、/ etc/init/ssh.overrideファイルはもう適用されません...
PCから接続するには:
ssh [email protected]
x.x.x.xは携帯電話のIPアドレスであり、次のように入力して見つけることができます
ifconfig
お使いの携帯電話の端末で。
楽しい!
UPDATE:更新後、sshdがホストキーを開けず、再生成するだけで起動に失敗する可能性があります。
/usr/bin/ssh-keygen -A
/ var/run/sshdがないために失敗した場合は、作成してください:
mkdir /var/run/sshd
chmod 755 /var/run/sshd
Ubuntu SDKをインストールし、デバイスパネルの[デバイスでSSH接続を開く]をクリックします。ボーナス:新しいスコープの作成に抵抗することはありません...