Apakah mungkin untuk membuka sesi SSH di PowerShell? Saat ini saya menggunakan Putty tetapi akan lebih baik jika itu tidak diperlukan.
Apakah mungkin untuk membuka sesi SSH di PowerShell? Saat ini saya menggunakan Putty tetapi akan lebih baik jika itu tidak diperlukan.
Jawaban:
Tentu saja tidak dibangun, tetapi karena Powershell dapat melakukan apa pun. Net dapat melakukannya, ada caranya.
Solusi berbayar adalah / n NetCmdlets Perangkat Lunak.
Solusi gratis akan menggunakan saran dari posting blog ini.
Saya menulis modul untuk berurusan dengan sesi SSH dari PowerShell, berdasarkan perpustakaan SSH.NET yang ditemukan di CodePlex. Memiliki New-SshSession untuk membuat koneksi (beberapa target menggunakan kredensial berbeda didukung), dan kemudian Anda dapat menggunakan Invoke-SshCommand untuk menjalankan perintah terhadap sejumlah host target. Bahkan ada Enter-SshSession yang memiliki cangkang interaktif yang sangat mendasar.
Artikelnya ada di sini .
Joakim
Unduh OpenSSH untuk Windows dan pilih untuk menginstal hanya klien selama instalasi. Seluruh pemasang termasuk server kurang dari 3MB dan klien bekerja dengan baik.
Saya masih memposting jawaban untuk pertanyaan ini, karena saya menemukan jawaban yang diterima tidak sesuai dengan kebutuhan saya sama sekali (Hanya solusi berbayar atau yang lain yang tidak menangani terminal dengan baik).
Jadi solusi yang jelas untuk masalah ini adalah menginstal cygwin. Lakukan instalasi minimal jika Anda hanya ingin ssh, tetapi karena PowerShell menyediakan tingkat dasar kompatibilitas dengan * nix shells (perintah dasar masih ada, "/" untuk direktori, dll), sangat mungkin untuk menggunakan hal-hal cygwin di dalam Powershell.
Ada alternatif (gratis) solusi PowerHell SSH , menggunakan implementasi perpustakaan yang lebih baru, lihat vBlog >> SSH Client Menggunakan PowerShell
Jika mesin target adalah kotak Windows, maka Anda dapat menggunakan PowerShell Remoting , sebagai gantinya.
Ini jelas tidak sama dengan SSH. Ada pro (membawa benda kembali di atas kawat!) Dan kontra (bagaimana jika targetnya adalah Linux?).
http://www.powershellinside.com/powershell/ssh/ Gratis untuk penggunaan pribadi.
Saya menggunakan Git http://git-scm.com/downloads
Termasuk sejumlah alat lain seperti SCP dan semacamnya yang bermanfaat juga.
Salah satu cara untuk mendapatkan klien ssh asli yang sangat bagus adalah dengan menginstal git dari GitHub ( https://windows.github.com/ ).
Itu menciptakan jalan pintas ke jendela posh-git dengan semua jalur diatur dengan benar untuk menggunakan git di PowerShell. Itu secara otomatis datang dengan ssh dan scp binari di path.
Saya tidak yakin implementasi apa itu, tetapi memang memiliki Linux like feel, artinya tidak terasa seperti itu .Net atau menggunakan commandhell powershell.
Ia mengambil kunci pribadi yang telah saya konfigurasikan dalam format $ home / .ssh / dalam format openssh dan mungkin seseorang dapat mengonfirmasi. Rasanya seperti openssh.
Untuk membuatnya lebih baik, saya telah mengintegrasikannya ke dalam profil PowerShell reguler saya dengan melakukan hal berikut di $ profil saya. Itu artinya saya tidak perlu menggunakan pintasan github.
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\PoshGit_*\profile.example.ps1")
Posh-SSH Adalah modul gratis dari Majalah Poswershell yang bekerja untuk Powershell 3.0 dan di atasnya.
Ini tersedia di http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/
Dokumentasi lengkap tersedia di tautan di atas. Dalam skrip Anda tidak benar-benar menginginkan koneksi interaktif, jadi ini adalah dua langkah. 1 buat sesi. Perintah kirim ke-2.
$ServerConnection = New-SSHSession -KeyFile $keyLocation -ComputerName $sshComp -Credential $mycreds -AcceptKey
Sesi pertama yang Anda buat akan memiliki indeks 0.
Invoke-SSHCommand -Index 0 -Command "some command to run over ssh"
Ini adalah praktik terbaik untuk membuat penciptaan koneksi dalam try catch dan memvalidasi sesi yang ada sebelum menjalankan perintah. Ini membuat berinteraksi dengan server Linux dari dalam skrip PowerShell berfungsi dengan baik.
SSH dan SFTP tidak diragukan lagi merupakan standar industri dalam aplikasi akses jarak jauh yang aman. Untungnya, membangun koneksi bisa sangat cepat dan mudah. Sayangnya kebenarannya adalah bahwa ada banyak kemungkinan untuk membuang waktu dengan pemecahan masalah.
Sayangnya Windows tidak memiliki klien ssh standar atau perangkat lunak deamon.
Ini menghasilkan kebun binatang implementasi yang kurang lebih aneh, open source, freeware, shareware dan sebagainya ... kadang-kadang berfungsi kadang tidak.
Di dalam windows, ini adalah uang. Microsoft tidak ingin banyak pengguna yang terhubung ke 1 komputer dengan mudah. Mereka ingin menjual solusi mereka sendiri. Jadi mereka tidak menawarkan ssl asli.
cygwin adalah solusi terbaik yang tersedia.
putty / plink / winscp sebagai perangkat lunak klien. itu juga ok untuk skrip.
ada ssh deamons untuk integrasi windows, tetapi solusinya kurang lebih tidak stabil.
cara paling stabil untuk menjalankan ssh deamon di windwos adalah menjalankannya di dalam Linux VM, dapat direalisasikan dengan distibution linux kecil.