Diğer konsollardan termux kullanıcı ortamına erişim


9

Son zamanlarda inanılmaz Termux terminal uygulamasını ve linux ortamını kullanmaya başladım . Çok sayıda tam işlevli terminal yardımcı programı sağlar. Bu yardımcı programlara özellikle sshveya üzerinden bağlandığında diğer konsollardan erişebilmek harika olurdu adb shell. Benim PATHve LD_LIBRARY_PATHortam değişkenlerini Termux'un kabuğu tarafından kullanılan değerlere ayarlayarak bazı işlevleri kullanılabilir hale getirmeyi başardım, ancak izin sorunları var ve dağınık görünüyor.

Bir Termux oturumuna giriş yapmanın bir yolu var mı? Termux bir ssh sunucu paketi sağlamıyor gibi görünüyor. Olsa bile, muhtemelen bu sunucu ve dolayısıyla onun verdiği ssh oturumu, termux kullanıcısından ayrı bir kullanıcı olarak çalışacak ve benzer izin sorunlarına yol açacaktır.

Termux kullanıcı ortamına diğer konsollardan erişmenin desteklenen bir yolu var mı?

Yanıtlar:


11

Termux, opensshhem sshistemciyi hem de sshdsunucuyu içeren paketi sağlar.

Paketi şu şekilde yükleyin:, apt install opensshardından sunucuyu şu şekilde başlatın sshd- varsayılan olarak 8022 numaralı bağlantı noktasında çalışır, bu yüzden ona bağlanın ssh -p 8022 DEVICE_IPve cihazın wifi ipini kullanarak bulabilirsiniz ip addr list wlan0.

Parola kimlik doğrulaması desteklenmediği için kurulum yapmanız gerekir $HOME/.ssh/authorized_keys.

Bağlandıktan sonra, ortam değişkenleri doğru ayarlanmış normal Termux kullanıcısı olarak çalışacaksınız.


1
Vay canına, paket açıklamasında "uzaktaki bir makinede oturum açmak için güvenli bir kabuk" olduğunu söyleyenlerden bahsetmeliler.
intuited

Neden sshd termux'u olan ve 8022 bağlantı noktasında bir ip (bukle curl ifconfig.me'den aldığım) ile internete bağlı bir akıllı telefonda ssh ile uzak bir istemciden bağlanamıyorum. Sorun internet sağlayıcısıyla ilgili, bir ip üzerinde birçok müşteri olduğunu?
user3123159

6
Parola kimlik doğrulaması desteklenir. passwdSSH sunucunuz için yeni bir şifre belirlemek üzere çalıştırmanız gerekir . Ancak, işe yaramayan şey kullanıcı adlarıdır (yani herkes bu tek bir parolayla her kullanıcı adıyla oturum açabilir), AFAIK.
MAChitgarha


3

opensshTermux'da çalıştırarak kurmanız gerekir

pkg install openssh

ve sonra, ssh istediğiniz cihazda bir Genel Kimlik Anahtarı oluşturun,

ssh-keygen

ve sadece bir şeyi değiştirip onaylayın, sonra yapın

cat ~/.ssh/id_rsa.pub

çıktıyı kopyalayıp sunucuya ~/.ssh/authorized_keysyeniden başlatın sshdve ssh'ı deneyin,

herhangi bir hatayla karşılaşırsanız, authorized_keysdosyayı kontrol edin ve genel anahtarınızın bir satırda olduğundan emin olun

Termux sshdşifre girişlerini desteklemediğinden, yukarıdaki adımları uygulamanız gerekir (IE, ssh user@ip_addressardından bir şifre girme)

kullanarak termux içine ssh gerekir

ssh termux-ip-here -p 8022

2

Dizlerinin üstünde ve pruvada,

Ip_Address_Of_Remote_Host = 192.168.1.20

(Termux makinesinde aşağıdakileri kullanarak bir anahtar oluşturduğunuzu varsayarsak:

ssh-keygen -t rsa

Ssh-keygen ve -t arasında boşluk var ve bu makinelerin oturum açma ayrıntılarını kullanarak anahtarı Remote_Host'a kopyaladı

ssh-copy-id user@192.168.1.20).

Ssh-copy-id ile kullanıcı arasında boşluk var

Artık uzak ana bilgisayarda bir parola kullanmadan oturum açabilmeniz gerekir.

ssh kullanıcı@192.168.1.20

Yukarıda oluşturulan rsa anahtarı, termux makinedeki yetkili_anahtarlar dosyasına yerleştirdiğiniz anahtar değildir.

Sorun şu

id_rsa.pub

Uzak makinenizden termux'a dosya

~ / .Ssh / authorized_keys

Yerel sistemdeki (telefon) dosyada kullandığım çözüm scp idi, bu komut birçok insanı karıştırıyor, ancak sadece bir cp komutu olduğu konumdan bakıldığında mistisizm ortadan kalkıyor

cp file_to_copy nerede_to_copy_file

Bu komut Termux makinesinden (telefon) çalıştırılır

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

İd_rsa.pub ve ~ / arasında boşluk var

.Ssh dizininizin yolu farklı olabilir, sadece yukarıdaki komutta girdiğiniz doğru yol olduğundan emin olun.

Hala oturum açarken sorun yaşıyorsanız

/data/data/com.termux/files/usr/etc/ssh/sshd_config dosyası

Bu iki anahtar çiftini etkinleştirin

ChallengeResponseAuthentication no

PubkeyAuthentication evet


Hafif bir SSH anlayışı olan herkes için bu, GNU / Linux yollarında yeni olanlar için odaklanmanız gereken şey için doğrudan doğru olmalıdır. Bir sonraki çağrı portum, X yönlendirmenin mümkün olup olmadığını görmek için masaüstünüzde üretkenlik kıyafetlerini kullanma olasılığını açıyor ancak termux makinesine yazıyor, genişlememe izin verin, termux makinesinde LibraOffice yazılımını kullanabileceksiniz ancak gecikme / gecikme olmadan masaüstünde görüntülenmesini sağlamak GNU / Linux'un gücüdür.
Michael Hughes

2

Bunlar, Termux üzerinde çalışacak ve bir SSH istemcisi ve sunucusu kuracak ve masaüstünüzden Android'inize ve tersine bağlanmanıza izin veren Android komutlarıdır. Bu, masaüstü bilgisayarınızda kurulan SSH sunucusunu ve istemcisini kapsamaz.

SSH sunucusunu kullanma https://termux.com/ssh.html

apt update
apt upgrade
apt install openssh

Burada anahtarlarınız için bir şifre oluşturabilir ve bir şifre isterseniz bilgisayarınıza bağlanmak için kullanabilirsiniz. Aksi takdirde, bunları boş bırakın ve DESKTOP kullanıcı bilgisayar parolanız dışında parola gerekmez.

Şifresiz SSH girişini nasıl ayarlayabilirim? /ubuntu/46930/how-can-i-set-up-password-less-ssh-login

ssh-keygen -b 4096 -t rsa

Bu, ANDROID kullanıcı şifreniz olmadan ANDROID'nizden SSH bağlantısı ile MASAÜSTÜNÜZE bağlanmanızı sağlar (şifreler termux sshd sunucusu tarafından desteklenmediği için)

Ssh-keygen & ssh-copy-id Kullanarak SSH Oturum Açma Şifresiz Gerçekleştirmek için 3 Adım 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

Bu, MASAÜSTÜNÜZDEN ANDROID kullanıcı parolanız olmadan SSH bağlantısı ile ANDROID'nize bağlanmanıza olanak tanır (bilgisayarınızın bilgisayar parolasını kullanmak istiyorsanız, bu komutu atlayın)

  1. İlk Seçenek Diğer konsollardan termux kullanıcı ortamına erişim Diğer konsollardan termux kullanıcı ortamına erişim

    scp your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS:~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    
  2. İkinci Seçenek Yetkili_anahtarlar dosyasına SSH Anahtarlarını nasıl eklerim? /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 kullanarak Android cihazınızda SSHd kurulumu ve kullanımı için komut dosyaları ve notlar https://github.com/tomhiggins/TermuxSSHDsetup

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

ssh boş parola ama yine de istiyor /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 (varsayılan bağlantı noktası 8022'de başlayacaktır) yürüterek sunucuyu başlatın logcat -s 'syslog:*'ve sunucu işleminden günlük çıktısını görüntülemek için çalıştırın . Sunucuyu durdurmak için pkill sshd komutunu çalıştırın.

logcat -s 'syslog:*'
pkill sshd
sshd

Son olarak, birinden diğerine bağlanma ve tersi:

ANDROID'nizden MASAÜSTÜNÜZE bağlanma (DESKTOP kullanıcı şifrenizin kullanımı isteğe bağlı olabilir)

ssh your_desktop_ssh_user@YOUR.DESKTOP.IP.ADDRESS

MASAÜSTÜNÜZDEN ANDROID'nize bağlanma (ANDROID kullanıcı şifrenizi kullanmamalısınız)

Termux tek kullanıcılı bir sistem olduğu için herhangi bir kullanıcı olarak bağlanabilirsiniz - belirttiğiniz kullanıcı adından bağımsız olarak mevcut olan tek Termux kullanıcısı olarak giriş yaparsınız.

Termux sshd ikili dosyası şifre girişlerini desteklemediğinden, bir anahtarın ~/.ssh/authorized_keysbağlanmadan önce yetkilendirilmesi gerekir . İsterseniz yeni bir tane oluşturmak için ssh-keygen kullanın.

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

(ANDROID) Oturum açma konusunda hala sorun yaşıyorsanız, dosyaya gidin ve şu iki anahtar çiftini etkinleştirin: /data/data/com.termux/files/usr/etc/ssh/sshd_config

ChallengeResponseAuthentication no
PubkeyAuthentication yes

Ekstra: Dosya sistemini salt okunurdan okuma-yazma ve tersine kilitleme ve kilidini açma.

Dosyaları 'adb push' ile bir Android emülatörünün veri dizinine kopyalama https://alvinalexander.com/android/how-copy-files-android-device-emulator-adb-push-read-only-error

mount -o rw,remount rootfs /

Değişiklikleri bitirdikten sonra değişiklikleri geri alın!

cat /proc/mounts
mount -o ro,remount rootfs /
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.