ssh를 통해 Ubuntu 전화에 어떻게 액세스합니까?


16

실행할 때마다 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.

정확히 같은 오류
user195123

동일한 작업을 수행하는 데 동일한 오류가 발생했습니다-우분투 11.04.
Malee

1
@Malee 11.04의 수명이 다했습니다. 그 때문에 11.04의 도움을받을 수 없습니다. 12.04 이상 또는 지원되는 릴리스로 업그레이드 한 후 수정에 도움을 줄 수 있습니다.
토마스 워드

1
Ubuntu touch에는 아직 소프트웨어 센터가 없으며 업데이트는 터미널 전용이므로 openssh를 설치하려고 시도하지 않았습니다.
user195123

좋아, 아직 많이 변경하지 않았으므로 스토리지 포맷 및 우분투 재 플래시가 도움이된다고 생각합니까?
user195123

답변:


27

공식적인 최종 릴리스 인 Ubuntu for Phones는 adb, mtp, USB 테 더링 및 ssh를 관리 할 수있는 "android-gadget-service"도구를 제공합니다.

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>

훌륭하게 작동하지만 네트워크 인터페이스의 이름이 없으면 마지막 명령에 IP가 표시되지 않습니다 wlan0. 내 wlan2이유 는 무엇인가.
Cos64

명령 : ADB 푸시 ~ / 스푸핑 / id_rsa.pub /home/phablet/.ssh/authorized_keys 저를 제공합니다 : 할 수없는 통계 '/home/tenleftfingers/.ssh/id_rsa.pub': 해당 파일이나 디렉토리
TenLeftFingers

개발자 모드가 필요 없거나 이미지를 쓰기 가능하게 만들 필요가 없습니다. 쉽고 효과적인 솔루션 은 SSH Ubuntu Touch 를 참조하십시오 . 비밀번호가없는 인증을 사용하는 경우와 마찬가지로 장치에 /home/phablet/.ssh/authorized_keys파일 (Ubuntu Touch 장치에 액세스하는 데 사용하는 PC의 공개 키 포함)을 배치해야합니다. 실행 ssh -v phablet@<ip-address>(상세)은 로그인 또는 권한 문제를 디버그하는 데 도움이됩니다.
Peterino

@orga zeroconf (avahi-daemon)로 방송됩니까? 그렇게하면 노틸러스에서 내 장치를보고 sftp를 통해 파일을 전송할 수 있습니다.
Khurshid Alam

나는 또한 권한을 추가해야했다 : chmod ow ~ /
Mantas Vaitkūnas

17

SSH 액세스를 활성화하려면 전체 무선 랜을 통해 , 개발자 모드가없는 전화, 특별한 도구없이 컴퓨터와 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 phablet@192.0.2.1
    
  7. 휴대 전화의 IP 주소가 변경되면 휴대 전화의 ip addr터미널 앱에서 다시 사용하고 이에 따라 ssh 명령을 조정해야합니다.


3
adb 쉘과 USB 케이블이 없어 매우 유익한 답변입니다. 두 엄지 손가락!
스턴트

실제로 매우 유용한 답변입니다. +2
zloster

@ogra (나보다 잘 아는 사람)는 sudo android-gadget-service enable ssh대신 sudo setprop persist.service.ssh true하고 대신 사용해야한다고 말하지만 테스트하지는 않았습니다.
Robie Basak 2016 년

1
BQ Aquarius 5와 마찬가지로 안드로이드 방법으로는 전화를 찾을 수 없습니다.
Kat Amsterdam

14

OpenSSH 서버Ubuntu Touch 설치가 사전로드되어 있습니다 (2013 년 9 월 13 일 현재) . 그러나 기본적으로 비활성화 되어 있습니다. 또한 root 에서 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 데몬)를 실행할 수 없습니다 .

  • 최근 빌드 ( 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

왜 su로 가서 모든 것을 sudo해야합니까?
Octopus

1
이 행 su - phablet사용자 를 수퍼 유저가 아닌 phablet로 변경합니다 . 공격에 덜 취약하도록 최소 권한 을 사용하는 것이 일반적으로 가장 좋습니다 .
david6

이 답변은 업데이트가 필요합니다. @ ogra 's
sergiusens를보십시오.

1
먼저 해당 방법을 검토하고 시도해야합니다.
david6


0

Ubuntu SDK를 설치하고 장치 패널에서 "SSH 연결 열기"를 클릭하십시오. 보너스 : 새로운 스코프 작성에 저항하지 않습니다 ...


0

방금 더 빠르고 (빠르고 더러운) 방법을 찾았습니다 (주의 : 안전하지 않습니다!) :

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 phablet@x.x.x.x

여기서 xxxx는 휴대 전화의 IP 주소이며 입력하면 찾을 수 있습니다.

ifconfig

휴대 전화의 터미널에

즐겨!

업데이트 : 업데이트 후 호스트 키를 열 수 없기 때문에 sshd가 시작되지 않은 다음 다시 생성 할 수 있습니다.

/usr/bin/ssh-keygen -A

/ var / run / sshd가 없어서 실패하면 그냥 작성하십시오.

mkdir /var/run/sshd
chmod 755 /var/run/sshd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.