web-dev-qa-db-ja.com

Ubuntuの電話にsshでアクセスするにはどうすればよいですか?

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

公式の最終リリースでは、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>
27
ogra

Sshアクセスを有効にするにはwifi全体開発者モードなし電話、特別なツールなしお使いのコンピューター、および使用せずに) USB

  1. まだsshキーペアがない場合は、コンピューターでssh-keygenと入力し、指示に従ってキーペアを生成します。
  2. App Storeから電話にターミナルアプリをインストールします。
  3. ターミナルを開いて入力します(電話を横向きにすると簡単です):

    Sudo setprop persist.service.ssh true
    mkdir -pm700 ~/.ssh
    ip addr
    nc -l 1234 > ~/.ssh/authorized_keys
    

    (最後のコマンドがハングします。これは予期されていることです)

  4. 上記のip addrコマンドによって返されるターミナルで、電話のIPアドレスを探します。

  5. コンピューターで、次のように入力します(192.0.2.1を上記の電話のIPアドレスに置き換えます):

    nc 192.0.2.1 1234 < ~/.ssh/id_rsa.pub
    

    成功すると、携帯端末の最後のコマンドが成功します。

  6. コンピューターで、次のように入力します(もう一度[192.0.2.1を上記の電話のIPアドレスに置き換えます])。

    ssh [email protected]
    
  7. 電話機のIPアドレスが変更された場合は、電話機のターミナルアプリでip addrを再度使用し、それに応じてsshコマンドを調整する必要があります。

17
Robie Basak

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月9日)

上記の答えは現在のものではありません。

  • 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
14
david6

私はちょうどより速い(迅速で汚い)方法を見つけました(注意:安全ではありません!)

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
0
Andrey Sapegin

Ubuntu SDKをインストールし、デバイスパネルの[デバイスでSSH接続を開く]をクリックします。ボーナス:新しいスコープの作成に抵抗することはありません...

0
Beernarrd

書き込み可能にして再起動してください:

touch /userdata/.writable_image

編集:ビルドするときは、--pendingスイッチを使用します phablet-flashの更新

編集: システムイメージがUbuntu Touchを展開および更新するための推奨方法になりました

0
wojox