Accesso all'ambiente utente di termux da altre console


9

Di recente ho iniziato a utilizzare la fantastica app Terminux e l'ambiente Linux. Fornisce una vasta gamma di programmi di utilità con funzionalità complete. Sarebbe bello poter accedere a questi programmi di utilità da altre console, soprattutto se collegati tramite ssho adb shell. Sono riuscito a rendere disponibili alcune funzionalità impostando le variabili my PATHe LD_LIBRARY_PATHenvironment sugli stessi valori utilizzati dalla shell di Termux, ma ci sono problemi di autorizzazione e sembra disordinato.

C'è un modo per partecipare a una sessione Termux? Termux non sembra fornire un pacchetto server ssh. Anche se lo facesse, presumibilmente quel server, e quindi la sessione ssh concessa da esso, verrebbe eseguito come utente separato dall'utente termux, causando problemi di autorizzazioni simili.

Esiste un modo supportato per accedere all'ambiente utente Termux da altre console?

Risposte:


11

Termux fornisce il opensshpacchetto, che contiene sia il sshclient che il sshdserver.

Installa il pacchetto con:, apt install opensshquindi avvia il server con sshd: funzionerà sulla porta 8022 per impostazione predefinita, quindi connettiti ad esso con ssh -p 8022 DEVICE_IPe puoi trovare l'ip wifi del dispositivo usando ip addr list wlan0.

L'autenticazione con password non è supportata, quindi è necessario eseguire l'installazione $HOME/.ssh/authorized_keys.

Dopo aver effettuato la connessione, l'utente verrà eseguito come normale utente Termux con le variabili di ambiente configurate correttamente.


1
Wow, dovrebbero davvero menzionarlo nella descrizione del pacchetto, che dice semplicemente che si tratta di una "shell sicura per accedere a una macchina remota".
intuito il

Perché non riesco a connettermi da un client remoto con ssh su uno smartphone che ha sshd termux ed è connesso a Internet con un ip (che ottengo da curl ifconfig.me) sulla porta 8022. Il problema è legato al provider Internet, che ci sono molti client su un solo ip?
user3123159

5
L'autenticazione con password è supportata. Devi eseguire passwdper impostare una nuova password per il tuo server SSH. Tuttavia, ciò che non funziona sono i nomi utente (ovvero tutti possono accedere con ogni nome utente con quella password), AFAIK.
MAChitgarha,

3

È necessario installare opensshin termux eseguendo

pkg install openssh

e quindi, sul dispositivo da cui si desidera ssh, generare una chiave ID pubblica,

ssh-keygen

e basta confermare e cambiare qualcosa, quindi fare

cat ~/.ssh/id_rsa.pub

e copia l'output ~/.ssh/authorized_keyse riavvia il sshdserver e prova a ssh,

se riscontri errori, controlla il authorized_keysfile e assicurati che la tua chiave pubblica sia tutta su una riga

Devi eseguire questi passaggi sopra perché Termux non sshdsupporta gli accessi con password (IE, ssh user@ip_addressquindi inserendo una password)

devi usare ssh in termux usando

ssh termux-ip-here -p 8022

2

In ginocchio e arco,

Ip_Address_Of_Remote_Host = 192.168.1.20

(Supponendo di aver generato una chiave sulla macchina termux usando

ssh-keygen -t rsa

C'è uno spazio tra ssh-keygen e -t e ha copiato la chiave in Remote_Host usando i dettagli di accesso di quella macchina

ssh-copy-id user@192.168.1.20).

C'è uno spazio tra ssh-copy-id e user

Ora dovresti essere in grado di accedere all'host remoto senza usare una password.

ssh user@192.168.1.20

La chiave rsa generata sopra non è la chiave inserita nel file authorized_keys sulla macchina termux.

Il problema è ottenere il

id_rsa.pub

file dal tuo computer remoto al termux

~ / .Ssh / authorized_keys

file sul sistema locale (telefono) la soluzione che ho usato era scp, questo comando confonde molte persone ma se visto dalla posizione che è solo un comando cp il suo misticismo svanisce

cp file_to_copy dove_to_copy_file

Questo comando viene eseguito dalla macchina Termux (telefono)

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

C'è uno spazio tra id_rsa.pub e ~ /

Il percorso della tua directory .ssh potrebbe essere diverso, assicurati solo che sia il percorso corretto che inserisci nel comando sopra.

Se i problemi di accesso persistono, accedere a

/data/data/com.termux/files/usr/etc/ssh/sshd_config file

Attiva queste due coppie di chiavi

ChallengeResponseAuthentication no

PubkeyAutenticazione sì


Per chiunque abbia una leggera comprensione di SSH questo dovrebbe essere semplice per coloro che sono nuovi ai percorsi GNU / Linux su cui devi concentrarti. La mia prossima porta di chiamata è vedere se l'inoltro X è possibile per allora apre la possibilità di utilizzare le tute di produttività sul desktop ma scrivendo sulla macchina termux, fammi espandere, sarai in grado di utilizzare il software LibraOffice sulla macchina termux ma è visualizzato sul desktop senza ritardi / latenza, questo è il potere di GNU / Linux.
Michael Hughes,

2

Si tratta di comandi Android da eseguire su Termux e configurare un client e un server SSH, che consente di connettersi dal desktop al proprio Android e viceversa. Questo non copre il server SSH e il client impostati sul tuo computer desktop.

Utilizzo del server SSH https://termux.com/ssh.html

apt update
apt upgrade
apt install openssh

Qui puoi creare una password per le tue chiavi e usarla per connetterti al tuo computer, se ti piace una password. Altrimenti, lasciarli vuoti e non sono necessarie password, tranne la password del computer dell'utente DESKTOP.

Come posso configurare l'accesso SSH senza password? /ubuntu/46930/how-can-i-set-up-password-less-ssh-login

ssh-keygen -b 4096 -t rsa

Questo ti consente di connetterti dal tuo ANDROID al tuo DESKTOP tramite connessione SSH senza la tua password utente ANDROID (poiché le password non sono supportate dal server termux sshd)

3 passaggi per eseguire l'accesso SSH senza password utilizzando ssh-keygen e ssh-copy-id 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

Ciò ti consente di connetterti dal tuo DESKTOP al tuo ANDROID tramite connessione SSH senza la tua password utente ANDROID (se vuoi usare la password dell'utente del tuo computer, salta questo comando)

  1. Prima opzione Accesso all'ambiente utente termux da altre console Accesso all'ambiente utente termux da altre console

    scp your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS:~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    
  2. Seconda opzione Come posso aggiungere le chiavi SSH al file authorized_keys? /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"
    

Script e note per l'impostazione e l'utilizzo di SSHd sul tuo dispositivo Android utilizzando Termux https://github.com/tomhiggins/TermuxSSHDsetup

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

ssh passphrase vuota ma ancora chiedendola /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

Avviare il server eseguendo sshd (che lo avvierà sulla porta predefinita 8022) ed eseguirà logcat -s 'syslog:*'per visualizzare l'output del registro dal processo del server. Eseguire pkill sshd per arrestare il server.

logcat -s 'syslog:*'
pkill sshd
sshd

Infine, collegando l'uno all'altro e viceversa:

Connessione dal tuo ANDROID al tuo DESKTOP (l'uso della password dell'utente DESKTOP può essere facoltativo)

ssh your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS

Connessione dal DESKTOP al tuo ANDROID (non devi usare la tua password utente ANDROID)

Poiché Termux è un sistema a utente singolo, è possibile connettersi come qualsiasi utente, indipendentemente dal nome utente specificato, si accederà come unico utente Termux disponibile.

Il binario Termux sshd non supporta gli accessi con password, quindi è necessario autorizzare una chiave ~/.ssh/authorized_keysprima di connettersi. Usa ssh-keygen per generarne uno nuovo, se lo desideri.

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

(ANDROID) Se hai ancora problemi di accesso, vai al file e attiva queste due coppie di chiavi: /data/data/com.termux/files/usr/etc/ssh/sshd_config

ChallengeResponseAuthentication no
PubkeyAuthentication yes

Extra: blocco e sblocco del file system da sola lettura a lettura-scrittura e viceversa.

Come copiare i file nella directory dei dati di un emulatore Android con 'adb push' https://alvinalexander.com/android/how-copy-files-android-device-emulator-adb-push-read-only-error

mount -o rw,remount rootfs /

Ripristina le modifiche dopo aver terminato le modifiche!

cat /proc/mounts
mount -o ro,remount rootfs /
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.