PowerShell'de bir SSH oturumu açmak mümkün mü? Şu anda PuTTY kullanıyorum ancak gerekli olmasaydı iyi olurdu.
PowerShell'de bir SSH oturumu açmak mümkün mü? Şu anda PuTTY kullanıyorum ancak gerekli olmasaydı iyi olurdu.
Yanıtlar:
Elbette yerleşik değil, ancak Powershell her şeyi yapabildiğinden. Net yapabilir, bir yolu var.
Ödenen çözüm, / n Software'in NetCmdlet'leri olacaktır.
Ücretsiz bir blog bu blog yazısının önerilerini kullanıyor olacak .
CodePlex'te bulunan SSH.NET kütüphanesine dayanarak PowerShell'den SSH oturumları ile ilgili bir modül yazdım. Bağlantıları oluşturmak için New-SshSession'a sahiptir (farklı kimlik bilgilerini kullanan birden fazla hedef desteklenir) ve ardından herhangi bir sayıda hedef ana bilgisayara karşı komut çalıştırmak için Invoke-SshCommand kullanabilirsiniz. Çok basit ve etkileşimli bir kabuğu olan bir Enter-SshSession bile var.
Makale burada .
Joakim
OpenSSH for Windows'ı indirin ve kurulum sırasında sadece istemciyi kurmayı seçin. Sunucuyu dahil eden tüm yükleyici daha az 3 MB'dir ve istemci iyi çalışıyor.
Hala bu soruya cevap gönderiyorum, çünkü kabul edilen cevabın ihtiyaçlarıma uymadığını gördüm (Sadece ücretli bir çözüm veya terminali iyi idare etmeyen başka bir çözüm).
Bu yüzden bu sorunun bariz çözümü cygwin'i kurmaktır. Sadece ssh istiyorsanız minimum kurulum yapın, ancak powershell * nix kabukları ile temel bir uyumluluk düzeyi sağladığından (temel komutlar hala oradadır, dizinler için "/" vb.), Powershell içinde cygwin kullanmak gerçekten mümkündür.
Daha yeni bir kütüphane uygulaması kullanarak alternatif (ücretsiz) bir PowerShell SSH çözümü var, bkz. VBlog >> PowerShell'i Kullanma
Hedef makine bir Windows kutusuysa , bunun yerine PowerShell Remoting'i kullanabilirsiniz .
Kesinlikle SSH ile aynı değil. Artıları (tel üzerinden nesneleri geri getirerek!) Ve eksileri (hedef Linux ise?) Vardır.
http://www.powershellinside.com/powershell/ssh/ Kişisel kullanım için ücretsiz.
Git http://git-scm.com/downloads kullanıyorum
SCP gibi faydalı araçların birçoğunu içerir.
Çok iyi bir yerel ssh istemcisi edinmenin bir yolu GitHub'dan git'i yüklemektir ( https://windows.github.com/ ).
Git'i powershell'de kullanmak için doğru bir şekilde ayarlanmış olan tüm yolları içeren bir pencereye kısayol oluşturur. Bu otomatik olarak yolda ssh ve scp ikili dosyaları ile birlikte gelir.
Hangi uygulamanın ne olduğundan emin değilim, ancak Linux gibi bir hissi var, yani.
$ Home / .ssh / openssh biçiminde yapılandırdığım özel anahtarı alıyor ve belki birileri onaylayabilir. Openssh gibi hissediyor.
Daha da iyisi yapmak için $ profilimde aşağıdakileri yaparak normal powershell profilime ekledim. Bu, Github'un kısayolunu kullanmak zorunda olmadığım anlamına geliyor.
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\PoshGit_*\profile.example.ps1")
Posh-SSH Powershell 3.0 ve üzeri sürümlerde çalışan Poswershell Magazine'den ücretsiz bir modüldür.
Http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/ adresinde bulunabilir.
Tam dökümantasyon yukarıdaki linkte verilmiştir. Bir komut dosyasında gerçekten etkileşimli bağlantılar istemiyorsunuz, bu yüzden iki adım. 1. oturumu oluşturun. 2. gönderme komutları.
$ServerConnection = New-SSHSession -KeyFile $keyLocation -ComputerName $sshComp -Credential $mycreds -AcceptKey
Oluşturduğunuz ilk oturumda 0 dizini olacaktır.
Invoke-SSHCommand -Index 0 -Command "some command to run over ssh"
Bağlantı oluşturmayı bir try catch içine koymak ve bir komutu çalıştırmadan önce var olan oturumu doğrulamak en iyi yöntemdir. Bu, bir powershell betiğinin içinden Linux sunucularıyla etkileşimin iyi çalışmasını sağlar.
SSH ve SFTP, şüphesiz güvenli uzaktan erişim uygulamasında endüstri standardını temsil ediyor. Neyse ki, bir bağlantı kurmak gerçekten hızlı ve kolay olabilir. Maalesef gerçek şu ki, sorun giderme ile zaman kaybetmek için birçok imkan bulunuyor.
Maalesef, Windows'un standart bir ssh istemcisi veya deamon yazılımı bulunmuyor.
Bu, az ya da çok garip uygulamalar, açık kaynak kodlu, freeware, shareware vb.
Pencerelerde, bu bir para şeydir. Microsoft, yalnızca 1 lizensli bilgisayara kolayca bağlanan pek çok kullanıcıyı istememektedir. Kendi çözümlerini satmak istiyorlar. Bu yüzden yerli ssl sunmuyorlar.
cygwin mevcut en iyi çözümdür.
istemci yazılımı olarak macun / plink / winscp. komut dosyası için de tamam.
Windows entegrasyonu için ssh deamons var, ancak çözümler az ya da çok kararsız.
ssh deamon'u çalıştırmanın en istikrarlı yolu, çalışan bir Linux VM içinde çalıştırmaktır, küçük bir linux dağıtımıyla gerçekleştirilebilir.