Ssh config dosyasında uzaktan komut


12

Ben sadece ssh my_hostnamebelirli bir klasöre sonunda yazdıktan sonra ssh_config ayarlamak istiyorum . Tıpkı yazdığım gibi cd /folder/another_one/much_much_deeper/.

Bunu nasıl başarabilirim?

DÜZENLE. "Dir nasıl ssh ..." nin kopyası olarak işaretlenmiş ancak benim sorum bu değil .

Herhangi bir komutu komutlara göndererek çalıştırabileceğimi biliyorum ssh. Sorum /ssh_configkomut değil dosya ile ilgili .


Sorumu açıkladım.
Mart'ta Kazz

Bu konuda hiçbir şey yok man ssh_config. En yakın olanı LocalCommand ancak etkileşimli komut için kullanılamaz.
lgeorget

1
Lütfen değişikliğin neden yapılması gerektiğini düşündüğünüzü (sorunuzda) açıklayabilir misiniz ssh_config? Başlangıç ​​dizinini yapılandırmak için muhtemelen daha iyi yerler vardır ve olası bir çözümde bu özel kısıtlamanın neden olduğunu anlamak faydalı olacaktır.
roaima

1
"Bu yapılamaz" gerçeği, bunu ssh_config"Bash'de yap" ın bir kopyası yapmaz. "Bunu yapamazsın" tamamen geçerli bir cevaptır.
Franklin Yu

1
@terdon Ancak "mümkün değil" gerçeği zamanla değişebilir. Evet, şimdi mümkün. Şimdi (ve gelecekte bunu görmeye gelecek herkesin) yeni bir cevaba ihtiyacım var ve burada sıkışıp kalıyoruz. Bu yeniden açılmazsa, istenen yolun yeni bir soru oluşturmak (ve cevaplamak) olduğunu hayal ediyorum?
Franklin Yu

Yanıtlar:


19

OpenSSH 7.6'ya kadar bunu yapmanın bir yolu yoktu . Gönderen manuel :

RemoteCommand

Sunucuya başarıyla bağlandıktan sonra uzak makinede yürütülecek komutu belirtir. Komut dizesi satırın sonuna kadar uzanır ve kullanıcının kabuğu ile yürütülür. TOKENS bölümünde RemoteCommandaçıklanan belirteçleri kabul etme argümanları .

Şimdi sahip olabilirsiniz

RemoteCommand cd /tmp && bash

Bu taahhütte tanıtıldı .


5
RequestTTY forceUzak komut bir TTY gerektiriyorsa ekleyin . Örneğin:tmux new -As my-session
Aaron Blenkush

Bu katil sshseçeneği Teşekkürler!
nhed

Bu, diğer komutların çalıştırılmasını imkansız hale getirir, örneğin ssh my_hostname lsbaşarısız olur Cannot execute command-line and remote command.. Git ve rsync gibi ssh kullanan diğer araçlar da başarısız olur.
22'de yeniden remram

2

Ssh_config dosyasını sadece ssh my_hostname yazdıktan sonra ayarlamak istiyorum

Mümkün değil. Bunu başarmak için bir seçenek yok ssh_config. En yakın olanı bir bash takma adı veya bash işlevi ayarlamaktır.

myssh() {
    ssh -t $1 "cd /dir/; bash"
}

1

Somoene bunun orijinal olduğunu belirtmeden önce farklı bir bilete yanıt verdim.

Mac kullanıyorsanız, önerim iTerm2'yi kullanmak ve bir profil oluşturmaktır. ssh my_hostnameKomut satırına koyun ve ardından komutu cd /folder/another_one/much_much_deeper/başlangıçta metin gönder alanına ekleyin . Oturumlara bağlandığınızda, ana bilgisayar adınıza ssh, davanızdaki dizine cd veya bir komut yürütür.

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.