A resposta é não fazer logoff do servidor. Dessa forma, o servidor ssh continuará funcionando. Basta fechar o programa de conexão de área de trabalho remota na máquina do cliente.
O FreeSSHd é instalado no Windows Server 2003, não na unidade C:, mas em outra unidade, D :. Quando eu comando-prompt para a unidade D: e digite ssh, ele me diz que o ssh não é reconhecido.
Eu me adicionei como usuário ao FreeSSHd com uma senha com hash e habilitei o SSH.
O serviço do Firewall do Windows não está em execução.
Eu posso me conectar ao servidor usando a Conexão de Área de Trabalho Remota. Eu quero usar o ssh com o sistema de gerenciamento de código fonte Mercurial.
Enquanto estou logado no servidor via conexão de área de trabalho remota, também posso conectar-me ao servidor via ssh e putty na máquina cliente.
Assim que faço logoff do servidor via Conexão de Área de Trabalho Remota, e digito no cliente:
ssh <username>@<server>
Eu recebo:
ssh: Connect to host <server> port 22: Connection refused
Ressuscitando um segmento antigo, eu sei, mas tenho algumas informações novas. A resposta é que o serviço e o front-end parecem rodar de forma independente, com seu próprio arquivo ini. O serviço é executado como LocalSystem por padrão, mas quando você executa o front-end (no Windows 7 pelo menos), ele salva as configurações na árvore de diretórios do perfil, portanto, o serviço nunca o lê.
A solução para mim foi copiar o arquivo FreeSSHDService.ini do seguinte local para o topo daquele na pasta Arquivos de Programas:
C:\users\<my username>\AppData\Local\VirtualStore\Program Files (x86)\freeSSHd\
Reinicie o serviço e, em seguida, você pode efetuar logout. Mas como Mattijs apontou, ainda parece cair ocasionalmente, e a outra desvantagem é que cada vez que você precisa fazer uma alteração de configuração, você precisa editar manualmente o arquivo ini ou copiá-lo novamente após a edição através da interface do usuário. Pena que não é mais suportado, ainda é uma ferramenta extremamente útil.
desculpe, mas isso é ridículo, ter que manter a sessão aberta para não ter o serviço encerrado ... Eu tive o mesmo problema e eu estava pronto para deixar o serviço ser executado, iniciando-o como administrador do comando.
Faça o seguinte: Vá para o console de serviços no administrador e pare o serviço freessshd atual. Em seguida, abra um CMD e execute:
runas /user:<localmachinename>\administrator cmd
onde \ administrator pode ser substituído pelo seu usuário administrador. Eu não precisava do nome da máquina local.
Ele pedirá sua senha e, em seguida, abrirá um novo CMD. Neste comando você iniciará o freesshdservice com
net start <service name>
Feche todas as telas e faça logoff. Test is freesshd ainda está em execução.
Melhoria menor seria adicionar autostart em seu código de linha de comando, para que ele seja reiniciado após a reinicialização do servidor. Com a solução atual, não vai, eu acho.
O serviço FreeSSHD precisa ter a configuração "Permitir que o serviço interaja com a área de trabalho" ativada.
Clique com o botão direito do mouse na ferramenta de configuração freesshd e escolha 'Executar como administrador' também marque a caixa de seleção 'Permitir que o serviço interaja com a área de trabalho' nos serviços