PowerShellでSSHセッションを開くことはできますか?現在、私はPuTTYを使用していますが、それが必要なければいいと思います。
PowerShellでSSHセッションを開くことはできますか?現在、私はPuTTYを使用していますが、それが必要なければいいと思います。
回答:
もちろん組み込まれていませんが、Powershellは.Netができることは何でもできるので、方法があります。
有料ソリューションは、/ n SoftwareのNetCmdletsです。
Windows用OpenSSHをダウンロードし、インストール中にクライアントのみをインストールすることを選択します。サーバーを含むインストーラー全体は3MB未満で、クライアントは正常に動作します。
受け入れられた答えが自分のニーズにまったく合わないことがわかったので、私はまだこの質問の答えを投稿しています(有料ソリューションまたは端末をうまく処理できない別のソリューションのみ)。
したがって、この問題の明らかな解決策は、cygwinをインストールすることです。sshだけが必要な場合は最小限のインストールを行いますが、powershellは* nixシェルとの基本レベルの互換性を提供するため(基本コマンドはまだ存在し、ディレクトリには「/」など)、Powershell内でcygwinを使用することは本当に可能です。
新しいライブラリ実装を使用する代替の(無料の)PowerShell SSHソリューションがあります。vBlog>> PowerShellを使用したSSHクライアントを参照してください。
http://www.powershellinside.com/powershell/ssh/ 個人使用の場合は無料。
Git http://git-scm.com/downloadsを使用します
SCPなどの便利な他のツールも多数含まれています。
非常に優れたネイティブsshクライアントを取得する1つの方法は、GitHub(https://windows.github.com/)からgitをインストールすることです。
powershellでgitを使用するためにすべてのパスが正しく設定されたposh-gitウィンドウへのショートカットを作成します。これには、パスにsshおよびscpバイナリが自動的に含まれます。
どのような実装かはわかりませんが、Linuxのような感覚を持っています。つまり、.Netベースのように感じたり、Powershellコマンドレットを使用したりしません。
$ home / .ssh /でopenssh形式で設定した秘密鍵を取得しており、おそらく誰かが確認できます。opensshのように感じます。
さらに改善するために、$ profileで次の操作を実行して、通常のPowerShellプロファイルに統合しました。つまり、githubのショートカットを使用する必要はありません。
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\PoshGit_*\profile.example.ps1")
Posh-SSHは、Powershell 3.0以降で動作するPoswershell Magazineの無料モジュールです。
http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/で入手できます
完全なドキュメントは、上記のリンクで提供されています。スクリプトでは、実際にインタラクティブな接続を必要としないため、2つのステップになります。最初にセッションを作成します。2番目の送信コマンド。
$ServerConnection = New-SSHSession -KeyFile $keyLocation -ComputerName $sshComp -Credential $mycreds -AcceptKey
最初に作成するセッションのインデックスは0になります。
Invoke-SSHCommand -Index 0 -Command "some command to run over ssh"
接続の作成をtry catchに入れ、コマンドを実行する前にセッションの存在を検証することをお勧めします。これにより、powershellスクリプト内からLinuxサーバーとの対話がうまく機能します。
SSHとSFTPは、安全なリモートアクセスアプリケーションの業界標準を確実に表しています。幸いなことに、接続の確立は非常に迅速かつ簡単になります。残念ながら、真実はトラブルシューティングに時間を浪費する可能性がたくさんあるということです。
残念ながら、Windowsには標準のsshクライアントまたはデーモンソフトウェアが搭載されていません。
これは、多かれ少なかれ気味の悪い実装、オープンソース、フリーウェア、シェアウェアなどの動物園をもたらします。
窓の中で、それはお金のことです。マイクロソフトでは、多くのユーザーが1台のコンピューターに簡単に接続することを望んでいません。彼らは独自のソリューションを販売したいと考えています。したがって、彼らはネイティブSSLを提供していません。
cygwinは最適なソリューションです。
クライアントソフトウェアとしてのputty / plink / winscp。スクリプトにも問題ありません。
Windows統合にはsshデーモンがありますが、ソリューションは多かれ少なかれ不安定です。
windwos実行中にsshデーモンを使用する最も安定した方法は、Linux VM内で実行することです。これは、小規模なLinuxディストリビューションで実現できます。