2009-08-30 14 views
30

Ortak ana kimlik doğrulamasıyla SSH üzerinden yalnızca numaralı uzaktan ana bilgisayara erişebildiğimde yerel ana bilgisayarımdaki dosyalarımı nasıl düzenleyebilirim? Tramp normal şifre girişlerini çok iyi idare eder ancak anahtar çiftlerle nasıl çalıştığını anlayamıyorum. Her iki ucunda unix/linux kullanıyorum.Ortak anahtar kimlik doğrulaması kullanarak uzaktaki dosyaları Emacs ile düzenleme

+0

TRAMP Cx Cf kullanarak uzaktan dosyayı açmak edebiliyoruz Genel anahtar kimlik doğrulamasıyla TRAMP kullanıyorum. Neyin yanlış gittiğini (ve Emacs'in hangi sürümünü kullandığınızı) biraz detaylandırır mısınız? TRAMP'ın hemen hemen SSH'ye çağrıldığını düşünüyorum, bu yüzden önce "ssh adınız @ yourhost" unun açık anahtar oturum açmada beklendiği gibi çalıştığından emin olun. – Phil

+1

Teşekkürler, sorgunuz beni doğru yola yönlendirdi ve ben problemi çözdüm (SSH'yi daha doğru şekilde kullanmayı öğrendim). Yine de, SSH kimlik dosyanız standart olmayan bir yerde olduğunda Tramp'in nasıl kullanıldığını bilmek isterim ve dolayısıyla SSH'nin '-i' komut satırı seçeneğini kullanmanız gerekir. – pico

+1

ssh-add kullanarak bir kimlik dosyası ekleyebilirsiniz. – remvee

cevap

30

ssh [email protected] -i private-key.pem için TRAMP eşdeğeri yoktur. Ancak, ssh-add private-key.pem kabuk komutunu çalıştırırsanız, ssh (ve dolayısıyla TRAMP) otomatik olarak kimlik doğrulaması için private-key.pem kullanır. Sadece ssh [email protected] kabuk üzerinde çalışacak ve /[email protected]:~/filename.txt dosyasını açarak şifre sormadan emacs içinde çalışacak.

+5

Anahtarlarınızı yönetmek için '~/.ssh/config' dosyasını kullanırsanız, bkz. [@Sebastien] (http://stackoverflow.com/a/10738277/881224) 'un yanıtı. – Droogans

1

Eğer Windows kullanıyorsanız, kolayca tramp ile plink kullanabilirsiniz. Plink ikilisinin sizin yolunuzda olduğundan emin olmalısınız ve yarışmacının istediğiniz şeyi alabilmesi için değişken (M-x customize-option) tramp-default-method'u özelleştirmek zorundasınız.

Anahtarınızı eklemek için pageant'ı nasıl yapılandıracağınızı sayfa ana sayfasından okuyabilirsiniz.

C-x C-f /putty_profile: 

Bu sizin macun kayıtlı profil adından putty_profile alacak:

Bir yaptığınızda böylece profil adını kullanmak ve ayrıca yöntem plinkx yoktur.

Linux kullanıyorsanız, genellikle modern dağıtımlar, global bir SSH aracısı ile X'i başlatan gnome anahtarlığa (iyi denizatı adı verilir) sahip olmalıdır. Benim Debian bir dağıtımı Örnek:

[email protected]:~$ ps aux|grep ssh-agent 
chmouel 2917 0.0 0.0 4904 552 ?  Ss Aug30 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/seahorse-agent --execute x-session-manager 

bir ssh-eklentiyi yaparsanız şifrenizin talebinde ve tüm X oturumu için belirlemelidir (düzgün yapılandırılmış sizin ~/.ssh içinde kimliğe sahip emin).

Bu gerçekleşmezse, dağıtım bölümünüzde başka bir sorun olabilir.

13

Sorunu, ortak anahtarlı kimliği doğrulanmış SSH bağlantıları ile mükemmel bir şekilde iyi çalıştığından anlamıyorum. Örneğin , sen ~/.ssh/config aşağıdaki yapılandırma belirledik varsayarak:

Host remotehost 
    User  mylogin 
    Port  22 
    Hostname remotehost.fqdn 

ve bir terminalde doğru ssh remotehost çalıştırabilirsiniz varsayarak, o zaman /remotehost:path/to/file

+3

Bu iyi bir cevaptı, sadece 'IdentityFile ~/.ssh/identity-file' eklemek zorunda kaldı – Alex

İlgili konular