Uzak bir makinede bir kabuk betiği çalıştırmak için SSH nasıl kullanılır?

Uzak bir makinede bir kabuk betiği (windows/Linux) çalıştırmam gerekiyor.

Hem A hem de B makinesinde SSH yapılandırdım. Kodum A makinesinde ve kodumun bir kısmını uzak bir makine olan B makinesinde çalıştıracak.

Yerel ve uzak bilgisayarlar Windows ya da Unix tabanlı sistemler olabilir.

Bunu plink/ssh kullanarak yapmanın bir yolu var mı?

$ ssh user@hostB "ls -la"

HostA kullanıcınızın açık anahtarını kullanıcı .ssh's dizininin ana sayfasındaki authorized_keys dosyasına kopyalamadıysanız, bu sizden parola isteyecektir. Bu, parolasız kimlik doğrulamaya izin verecektir (ssh sunucusu yapılandırmasında bir kimlik doğrulama yöntemi olarak kabul edilirse)

Yorumlar (3)

Bunu, "uzak" makineye manuel olarak giriş yapmadan "yerel" bir makineden otomatik olarak yapmak istediğinizi varsayarsak, Expect olarak bilinen bir TCL uzantısına bakmalısınız, tam olarak bu tür bir durum için tasarlanmıştır. Ayrıca SSH üzerinden oturum açmak/etkileşimde bulunmak için bir betik bağlantısı da sağladım.

https://www.nist.gov/services-resources/software/expect

http://bash.cyberciti.biz/security/expect-ssh-login-script/

Yorumlar (0)

İlk olarak, scp kullanarak komut dosyasını Makine B'ye kopyalayın

[user@machineA]$ scp /path/to/script user@machineB:/home/user/path

Ardından, sadece komut dosyasını çalıştırın

[user@machineA]$ ssh user@machineB "/home/user/path/script"

Bu, betiğe çalıştırılabilir izni verdiyseniz çalışacaktır.

Yorumlar (6)