다른 콘솔에서 termux 사용자 환경에 액세스


9

최근에 놀라운 Termux 터미널 앱과 Linux 환경을 사용하기 시작했습니다 . 다양한 기능을 갖춘 터미널 유틸리티를 제공합니다. 연결시는 특히, 다른 콘솔에서 이러한 유틸리티에 액세스 할 수있는 것이 좋은 것 ssh또는 adb shell. 내 설정하여 일부 기능을 사용할 수 있도록 관리했습니다 PATHLD_LIBRARY_PATHTermux의 쉘에서 사용하는 것과 같은 값으로 환경 변수를하지만, 권한 문제가 있습니다 그것은 지저분한 것 같다.

Termux 세션에 참여할 수있는 방법이 있습니까? Termux는 ssh 서버 패키지를 제공하지 않는 것 같습니다. 해당 서버와 서버에서 부여한 ssh 세션이 해당 서버 인 경우에도 termux 사용자와 별도의 사용자로 실행되어 유사한 권한 문제가 발생합니다.

다른 콘솔에서 Termux 사용자 환경에 액세스 할 수있는 방법이 있습니까?

답변:


11

Termux는 클라이언트와 서버를 openssh모두 포함 하는 패키지를 제공 합니다.sshsshd

로 패키지를 설치 한 apt install openssh다음 서버를 시작하십시오 sshd.-기본적으로 포트 8022에서 실행되므로로 연결하면을 ssh -p 8022 DEVICE_IP사용하여 wifi IP 장치를 찾을 수 있습니다 ip addr list wlan0.

비밀번호 인증은 지원되지 않으므로 설정해야합니다 $HOME/.ssh/authorized_keys.

연결하면 환경 변수가 올바르게 설정된 일반 Termux 사용자로 실행됩니다.


1
와우, 그들은 패키지 설명에서 "원격 컴퓨터에 로그인하기위한 보안 쉘"이라고 언급해야합니다.
intuited

sshd termux가 있고 포트 8022의 ip (컬럼 ifconfig.me에서 가져옴)를 사용하여 인터넷에 연결된 스마트 폰에서 ssh를 사용하여 원격 클라이언트에서 연결할 수없는 이유는 무엇입니까? 하나의 IP에 많은 클라이언트가 있습니까?
user3123159

6
비밀번호 인증이 지원됩니다. passwdSSH 서버의 새 비밀번호를 설정 하려면 실행해야 합니다. 그러나 작동하지 않는 것은 사용자 이름입니다 (즉, 모든 사용자가 하나의 암호로 모든 사용자 이름으로 로그인 할 수 있음). AFAIK.
MAChitgarha 2016 년


3

openssh다음을 실행하여 termux에 설치해야합니다.

pkg install openssh

그런 다음 ssh하려는 장치에서 공개 ID 키를 생성하십시오.

ssh-keygen

확인하고 내려 놓고 아무것도 바꾸고 나서

cat ~/.ssh/id_rsa.pub

출력을 서버에 복사하고 서버를 ~/.ssh/authorized_keys다시 시작하고 sshdssh를 시도하십시오.

오류가 발생하면 authorized_keys파일을 확인하고 공개 키가 모두 한 줄에 있는지 확인하십시오

Termux sshd는 비밀번호 로그인을 지원 하지 않기 때문에 위의 단계를 수행해야합니다 (IE, ssh user@ip_address비밀번호 입력).

당신 은를 사용하여 termux로 ssh해야합니다

ssh termux-ip-here -p 8022

2

무릎과 활에

Ip_Address_Of_Remote_Host = 192.168.1.20

(Termux 시스템에서 키를 생성했다고 가정하면

ssh-keygen -t rsa

ssh-keygen과 -t 사이에 공백이 있으며 해당 머신 로그온 세부 사항을 사용하여 키를 Remote_Host에 복사했습니다.

ssh-copy-id 사용자 @ 192.168.1.20).

ssh-copy-id와 사용자 사이에 공백이 있습니다

이제 비밀번호를 사용하지 않고 원격 호스트에 로그온 할 수 있습니다.

ssh user@192.168.1.20

위에서 생성 된 rsa 키는 termux 시스템의 authorized_keys 파일에 배치 한 키가 아닙니다.

문제는

id_rsa.pub

원격 시스템에서 termux로 파일

~ / .ssh / authorized_keys

내가 사용한 솔루션이 scp였던 로컬 시스템 (전화)의 파일,이 명령은 많은 사람들을 혼란스럽게하지만 그것이 cp 명령이라는 위치에서 보면 신비주의가 사라집니다.

cp file_to_copy where_to_copy_file

이 명령은 Termux 시스템 (전화)에서 실행됩니다.

scp user@192.168.1.20 : /home/user/.ssh/id_rsa.pub ~ / .ssh / authorized_keys

id_rsa.pub와 ~ / 사이에 공백이 있습니다

.ssh 디렉토리의 경로는 위의 명령에 입력 한 올바른 경로인지 확인하기 위해 다를 수 있습니다.

그래도 로그온하는 데 문제가 있으면

/data/data/com.termux/files/usr/etc/ssh/sshd_config 파일

이 두 키 페어를 활성화

ChallengeResponse 인증 번호

Pubkey 인증 예


SSH에 대해 약간의 지식이있는 사람이라면 누구나 GNU / Linux 경로를 처음 접하는 사람들에게 집중해야합니다. 다음 번 포트는 X 전달이 가능한지 확인하는 것입니다. 그러면 데스크탑에서 생산성을 사용할 수 있지만 termux 머신에 쓸 가능성이 생겨서 termux 머신에서 LibraOffice 소프트웨어를 사용할 수있게됩니다. 그러나 지연 / 지연없이 바탕 화면에 표시되도록하는 것이 GNU / Linux의 힘입니다.
Michael Hughes

2

Termux에서 실행하고 SSH 클라이언트 및 서버를 설정하는 Android 명령으로 데스크탑에서 Android로 또는 그 반대로 연결할 수 있습니다. 데스크탑 컴퓨터에 설치된 SSH 서버 및 클라이언트는 다루지 않습니다.

SSH 서버 사용 https://termux.com/ssh.html

apt update
apt upgrade
apt install openssh

여기에서 암호를 원하는 경우 키 암호를 만들어 컴퓨터에 연결할 수 있습니다. 그렇지 않으면 암호를 비워두고 DESKTOP 사용자 컴퓨터 암호 이외의 다른 암호는 필요하지 않습니다.

비밀번호가없는 SSH 로그인을 어떻게 설정합니까? /ubuntu/46930/how-can-i-set-up-password-less-ssh-login

ssh-keygen -b 4096 -t rsa

이를 통해 ANDROID 사용자 비밀번호없이 SSH 연결을 통해 ANDROID에서 DESKTOP으로 연결할 수 있습니다 (termux sshd 서버에서는 비밀번호가 지원되지 않으므로).

ssh-keygen & ssh-copy-id를 사용하여 비밀번호없이 SSH 로그인을 수행하는 3 단계 https://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using- ssh-keygen-ssh-copy-id

ssh-copy-id -i ~/.ssh/id_rsa.pub your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS

이렇게하면 ANDROID 사용자 비밀번호없이 SSH 연결을 통해 DESKTOP에서 ANDROID로 연결할 수 있습니다 (컴퓨터 사용자 비밀번호를 사용하려면이 명령을 건너 뛰십시오).

  1. 첫 번째 옵션 다른 콘솔에서 termux 사용자 환경에 액세스 다른 콘솔에서 termux 사용자 환경에 액세스

    scp your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS:~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    
  2. 두 번째 옵션 authorized_keys 파일에 SSH 키를 어떻게 추가합니까? /ubuntu/46424/how-do-i-add-ssh-keys-to-authorized-keys-file

    cat ~/.ssh/id_rsa.pub | ssh your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

Termux https://github.com/tomhiggins/TermuxSSHDsetup을 사용하여 Android 디바이스에서 SSHd를 설정하고 사용하기위한 스크립트 및 참고 사항

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh blank passphrase이지만 여전히 요청 /server/845623/ssh-blank-passphrase-but-still-asking-for-it

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/known_hosts
chmod 600 ~/.ssh/authorized_keys

sshd (기본 포트 8022에서 시작됨)를 실행 logcat -s 'syslog:*'하여 서버를 시작하고 서버 프로세스의 로그 출력을 보려면 실행 하십시오. pkill sshd를 실행하여 서버를 중지하십시오.

logcat -s 'syslog:*'
pkill sshd
sshd

마지막으로, 서로 연결하거나 그 반대로 연결 :

ANDROID에서 DESKTOP으로 연결 (DESKTOP 사용자 비밀번호 사용은 선택 사항 일 수 있음)

ssh your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS

데스크톱에서 ANDROID로 연결 (Android ID를 사용하지 않아야 함)

Termux는 단일 사용자 시스템이므로 지정된 사용자 이름에 관계없이 사용 가능한 유일한 Termux 사용자로 로그인합니다.

Termux sshd 바이너리는 비밀번호 로그인을 지원하지 않으므로 ~/.ssh/authorized_keys연결하기 전에 키를 인증 해야합니다. 원하는 경우 ssh-keygen을 사용하여 새로운 것을 생성하십시오.

ssh -p 8022 -i ~/.ssh/id_rsa IP.OF.YOUR.ANDROID

(ANDROID) 여전히 로그온에 문제가있는 경우 파일로 이동하여 다음 두 키 쌍을 활성화하십시오. /data/data/com.termux/files/usr/etc/ssh/sshd_config

ChallengeResponseAuthentication no
PubkeyAuthentication yes

추가 : 파일 시스템을 읽기 전용에서 읽기 / 쓰기로 또는 그 반대로 잠금 및 잠금 해제

'adb push'를 사용하여 파일을 Android 에뮬레이터의 데이터 디렉토리에 복사하는 방법 https://alvinalexander.com/android/how-copy-files-android-device-emulator-adb-push-read-only-error

mount -o rw,remount rootfs /

변경을 완료 한 후 변경 사항을 되 돌리십시오!

cat /proc/mounts
mount -o ro,remount rootfs /
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.