Komut isteminde otomatik oturum açma özelliğini kullanarak PuTTY'de bir komut dosyası nasıl çalıştırılır?


20

Uzak bir sunucuya otomatik olarak oturum açmak ve ardından a'da listelenen komutları çalıştırmak için aşağıdakileri kullanıyorum commands.txt:

C:\path\to\putty.exe -load "[Sessionname]" -l [user] -pw [password] -m C:\path\to\commands.txt

commands.txt aşağıdakileri içerir:

ps -elf|grep 'sometext'

Ancak, bunu yapmaya çalıştığımda PuTTY için yeni bir pencere belirir, ancak girişten hemen sonra kapanır ve çıkar. Sonuç olarak, komutların çıktılarını göremiyorum.

Burada neler olduğunu anlamıyorum. Yaklaşımımda yanlış mıyım yoksa çıkmadan önce PuTTY penceresini duraklatmak için daha fazla adım atmam gerekir mi?


2
Bunun yerine Plink.exe'yi kullanmayı düşünün (genellikle Putty ile birlikte gelir, PATH'e dahil etmeyi unutmayın). PuTTY için bir komut satırında rsa anahtarı belirtmek için googling 2 saat geçirdim çünkü sabit kod şifreleri için güvensiz. Plink çözümünü göz ardı ettim, çünkü aramanın macunla başlaması gerektiğini düşündüm. Plink'ten bahsederek aşağıdaki cevabı kontrol edin. örneğin `` Plink.exe -ssh ana bilgisayar -l kullanıcı -ic: \ Kullanıcılar \ adım \ .ssh \ myGeneratedPuttyKey.ppk
Soren Havelund Welling

Yanıtlar:


11

Kullanmalısınız plink.exe(PuTTY arka uçlarına bir komut satırı arayüzü)putty.exe

Bunu PuTTY indirme sayfasından edinebilirsiniz

Plink olmadan:

Tek yol, -log <logfile>seçenekleri kullanmak ve ardından içeriğini yazdırıp silmektir.


Plink veya diğer komut satırı arabirimlerini kullanamıyorum. Bunu yapmanın başka bir yolu var mı

2
@supportpb "plink kullanamıyorum" - neden? denerseniz ne olur?
gertvdijk

1
@gertvdijk olan şey, şirket makinelerinde onaylanmamış yazılım kullanmaktan kovulmasıdır ...
Torben Gundtofte-Bruun

desteklenmeyen seçenek:-log
Allan Bowe

10

Öncelikle, yürütülmesini istediğiniz tüm komutları içeren ayrı bir dosya oluşturmanız gerekir.

Örnek: Ben indirmek ve yüklemek istiyorum Drupal PuTTY kullanarak alan üzerinde. Bunu yapmak için:

İlk önce bir .txt dosyası oluşturun. Bu dosya içinde komutlar var. Benimki: " drush dl drupal " sonraki satır, " drush si --account-name = [hesap adı] --account-pass = [hesap geçişi] --db-url = mysql: // [kullanıcı]: [geçiş ] @ localhost / [veritabanı adı] --y "

Bu dosyayı kaydettikten sonra, şimdi bir BAT dosyası oluşturacak veya CMD istemine yazacaksınız:

  • ssh.cmd
  • @echo on [neler olduğunu görmen için]
  • [PuTTY kurulumunuza gidin. Benimki:] cd C: \ Program Files \ Putty
  • Başlat putty.exe -ssh [domain name] -l [username] -pw [password] -m [the directory of the .txt file you created which contains the codes you want to be executed]

-M seçeneği benim için çalışmıyor. <metin
dosyamın

@ user590849 Komut metin dosyanızın yolunda beyaz boşluk var mı? Çünkü ben sadece
Black Frog

2

Yaklaşımınız iyi görünüyor, ancak davranışta size burada sorun çıkartan ve muhtemelen hiçbir şeyin olmadığına inanmanızı sağlayan varsayılan bir ayar var.

Ancak, bunu yapmaya çalıştığımda PuTTY için yeni bir pencere görünüyor, ancak giriş yaptıktan sonra anında kapanıyor ve çıkıyor

Oturumunuz komut yürütüldükten hemen sonra sona erer ve PuTTY varsayılan olarak pencereyi kapatır. Oturumunuz için bu davranışı nasıl değiştireceğinize dair PuTTY belgelerine bakın .

4.1.3 `Close Window on Exit'

   Finally in the Session panel, there is an option labelled `Close
   Window on Exit'. This controls whether the PuTTY terminal window
   disappears as soon as the session inside it terminates.

İlginç, ancak bu manuel oturumları da etkileyecek ...
Aviram Segal

1
@AviramSegal Bu bir oturum ayarı. Sadece oturum yapılandırmasını çoğaltın, bunu söyleyin session-nocloseve komut dosyasında kullanın.
gertvdijk

1
ah oturum ayarı, o zaman evet işe yarayacak
Aviram Segal

2

Unix makinesini açmak için toplu iş dosyasını oluşturmak istiyorsanız sorun olmaz. Aşağıda örnek:

"PuTTY path" -ssh machinename -l username -pw password

PuTTY yolu, "C: \ Program Files \ putty \ putty.ext" gibi çift tırnak işaretleri arasında olmalıdır

machinename = çift tırnaksız makina adı

password = tırnak işareti


0

Aviram'ın cevabına ek olarak:

Aşağıda, komut isteminden PuTTY komutlarını nasıl çalıştıracağınıza ilişkin örnek verilmiştir:

  • Önce PuTTY kurulum dizinine gidin C:\Program Files\PuTTYve ardından aşağıdaki komutu yürütün:

    plink.exe -ssh sunucu_ip -P port_no -l kullanıcı_adı -pw parolası

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.