Android'de uzak sunucuya bağlantılara izin vermek için SSH anahtarları nereye eklenir?


10

Köklü bir özel Android çekirdeği (Gingerbread) kullanıyorum ve busybox ve bir terminal emülatör uygulaması kullanarak şifre kimlik doğrulaması ile uzak bir SSH sunucusuna bağlanabiliyorum. Otomatik oturum açma için SSH anahtarlarını kullanabilmek istiyorum; Mümkün mü? Öyleyse, özel anahtarımı nereye koymalıyım?

Yanıtlar:


10

Bu kadar sorunsuz değil, ancak sshbusybox tarafından sağlanan ikili (en azından benim) -ibayrağı destekliyor , böylece anahtarı istediğiniz yere koyabilir ve kullanabilirsiniz:

ssh -i /path/to/key_file joeuser@somehost.com

İçin ilgili kılavuz sayfası girişi -i(varsayılan yol hakkındaki bilgilerin Android'de aynı olmayabileceği uyarısı ile):

-i identity_file

         Selects a file from which the identity (private key) for public
         key authentication is read.  The default is ~/.ssh/identity for
         protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and
         ~/.ssh/id_rsa for protocol version 2.  Identity files may also be
         specified on a per-host basis in the configuration file.  It is
         possible to have multiple -i options (and multiple identities
         specified in configuration files).  ssh will also try to load
         certificate information from the filename obtained by appending
         -cert.pub to identity filenames.

Teşekkürler, bunu düşünmüştüm ama denemek için hiç uğraşmadım. Sadece ssh komutunun .ssh dizinini arayacağı bir yer olmadığı garip görünüyor ... belki $ HOME ayarlı olmadığından?
yuttadhammo

2
@Yuttadhammo: Garip olan şey $HOME(root için) /datatelefonumda ayarlanmış , ancak sshorada ayarlamaya çalıştığım dizinleri yok sayıyor gibi görünüyor. Bunun nedenini hiç bu kadar anlamadım, ama ben de buna gerçekten gerek duymadım.
eldarerathis

@Yuttadhammo Telefonumda echo $HOMEhiçbir şey döndürmüyor (root için bile). Durumunuz da buysa, SSH istemcinizin anahtarları varsayılan olarak görememesinin nedeni budur. Ancak, -ibayrakla varsayılan yolu geçersiz kılabilirsiniz, böylece $ HOME'a bakmanın bir anlamı yoktur. Kesilmiş SSH istemciniz destekliyorsa, bu doğru çözümdür. Yani, sdcard üzerine tuşları koyduktan sonra deneyin. Başarısız olursa, SSH istemcisini değiştirmediğiniz sürece başka bir yol yoktur.
Android Quesito

Harika. Benim için çalıştı.
user20203293928832

6

ConnectBot'u (özel bir SSH istemcisi) yükleyin ve çalıştırın . Menü tuşuna dokunun / basın. Menüden öğesine dokunun Manage Pubkeys. Bir sonraki ekranda tekrar menü tuşuna basın / dokunun. Menüden öğesine dokunun Import.


Teşekkürler ben aslında sadece yaptım - güzel bir uygulama; sadece bir yere bir anahtar koymak ve meşgul kutusu onu almak için bir yolu yoktur?
yuttadhammo

@Yuttadhammo Busybox'ın varsayılan paketlemesinin SSH istemcisi sağladığını düşünmüyorum. SSH istemcinize daha açık olabilir misiniz (harici yardımcı olabilir)?
Android Quesito

Ayrıca, unutmayın .. Meşgul kutusu uygulamaları orijinal olanların kesilmiş hali olduğundan, komut satırı SSH istemciniz anahtarla kimlik doğrulamayı desteklemeyebilir, ancak pek olası değildir. Bana sadece SSH istemcinizden bahset.
Android Quesito

Teşekkürler, ConnectBot kullanacağım çözüm, ancak -i bayrağı soruyu cevaplamaya gerçekten daha yakın.
yuttadhammo
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.