Não é construído, é claro, mas como o Powershell pode fazer qualquer coisa que o Net possa fazer, existe uma maneira.
A solução paga seria / n NetCmdlets de software.
A solução gratuita seria usar as sugestões de este blog postar.
É possível abrir uma sessão SSH no PowerShell? Atualmente eu uso o PuTTY, mas seria bom se isso não fosse necessário.
Não é construído, é claro, mas como o Powershell pode fazer qualquer coisa que o Net possa fazer, existe uma maneira.
A solução paga seria / n NetCmdlets de software.
A solução gratuita seria usar as sugestões de este blog postar.
Eu escrevi um módulo para lidar com sessões SSH do PowerShell, baseado na biblioteca SSH.NET encontrada no CodePlex. Ele tem o New-SshSession para criar conexões (vários destinos que usam diferentes credenciais são suportados) e, em seguida, você pode usar o Invoke-SshCommand para executar comandos em qualquer número de hosts de destino. Existe até um Enter-SshSession que tem um shell muito básico e interativo.
O artigo é aqui .
Joakim
Faça o download do OpenSSH for Windows e escolha instalar apenas o cliente durante a instalação. Todo o instalador, incluindo o servidor, tem menos 3MB e o cliente funciona bem.
Ainda estou postando uma resposta para essa pergunta, porque achei a resposta aceita não adequada às minhas necessidades (apenas uma solução paga ou outra que não cuida bem do terminal).
Portanto, a solução óbvia para esse problema é instalar o cygwin. Faça uma instalação mínima se você quiser apenas ssh, mas como o powershell fornece um nível básico de compatibilidade com shells * nix (comandos básicos ainda estão lá, "/" para diretórios, etc), é realmente possível usar o cygwin dentro do Powershell. / p>
Há uma solução SSH PowerShell alternativa (gratuita), usando uma nova implementação de biblioteca, veja vBlog > > Cliente SSH usando o PowerShell
Se a máquina de destino for uma caixa do Windows, você poderá usar Remoto do PowerShell .
Definitivamente não é o mesmo que SSH. Há pros (trazendo objetos de volta através do fio!) E contras (e se o alvo for o Linux?).
link Gratuito para uso pessoal.
Uma maneira de obter um bom cliente ssh nativo é instalar o git no GitHub ( link ).
Ele cria um atalho para uma janela nobre com todos os caminhos definidos corretamente para usar o git no powershell. Isso vem automaticamente com binários ssh e scp no caminho.
Não sei ao certo qual é a implementação, mas ela tem uma sensação semelhante ao Linux, ou seja, ela não parece ser baseada em .Net ou usa commandlets powershell.
Ele está pegando a chave privada que eu configurei em $ home / .ssh / no formato openssh e talvez alguém possa confirmar. Parece que é openssh.
Para torná-lo ainda melhor, integrei-o ao meu perfil regular de powershell fazendo o seguinte no meu perfil $. Isso significa que não preciso usar o atalho do github.
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\PoshGit_*\profile.example.ps1")
Posh-SSH É um módulo gratuito da revista Poswershell que funciona para o Powershell 3.0 e superior.
A documentação completa é fornecida no link acima. Em um script, você não quer realmente conexões interativas, então são dois passos. 1º crie a sessão. 2º manda comandos.
$ServerConnection = New-SSHSession -KeyFile $keyLocation -ComputerName $sshComp -Credential $mycreds -AcceptKey
A primeira sessão que você criar terá um índice de 0.
Invoke-SSHCommand -Index 0 -Command "some command to run over ssh"
A melhor prática é colocar a criação da conexão em um try catch e validar a sessão antes de executar um comando. Isso faz com que a interação com servidores Linux de dentro de um roteiro powershell funcione bem.
O SSH e o SFTP representam, sem dúvida, o padrão da indústria em aplicativos de acesso remoto seguro. Felizmente, é possível que estabelecer uma conexão possa ser realmente rápido e fácil. Infelizmente a verdade é que existem muitas possibilidades de perder tempo com a solução de problemas.
Infelizmente, o Windows não possui um software padrão ssh client ou deamon on board.
Isso resulta em um zoológico de implementações mais ou menos esquisitas, código aberto, freeware, shareware e assim por diante ... às vezes trabalhando às vezes não.
Dentro do Windows, é uma coisa de dinheiro. A Microsoft simplesmente não quer que muitos usuários se conectem facilmente a um computador lizensed. Eles querem vender suas próprias soluções. Então eles não oferecem SSL nativo.
cygwin é a melhor solução disponível.
putty / plink / winscp como software cliente. também é bom para scripts.
existem deamons ssh para integração com janelas, mas as soluções são mais ou menos instáveis.
a maneira mais estável de ter o ssh deamon em execução do windwos é executá-lo dentro de uma VM do Linux, pode ser realizada com uma pequena distribuição de linux.