Preciso exibir algumas informações do servidor e permitir acesso a alguns comandos por meio de uma interface web. Eu estava pensando que uma maneira segura de fazer isso seria servir o site apenas por ssh.
Eu vi exemplos de abertura do Firefox em execução no servidor via encaminhamento X por ssh para poder restringir o site ao host local. Eu esperava poder de alguma forma ter o Firefox rodando localmente, mas servindo apenas por ssh.
Você pode me indicar a direção certa? Isso é possível?
Responder1
Executar o Firefox em um servidor é uma má ideia. Executar o X Forwarding de SSH é lento, complicado e requer um servidor X no cliente. Usar SSH para proteger uma conexão da Web é complicado e excepcionalmente difícil para usuários finais típicos.
DR:Não faça nada disso.
Use SSL para proteger seu tráfego. Use logins de conta para restringir o acesso. Use as práticas padrão da indústria, tudo funcionará conforme o esperado, os usuários ficarão felizes e haverá paz mundial... ou pelo menos as pessoas não ficarão violentas quando seu aplicativo não funcionar.
Responder2
É possível!, mas emitir comandos do sistema operacional através de um servidor web faz sentido quando feito remotamente e o ssh não é uma opção por algum motivo. Se você tiver acesso SSH, talvez possa definir o esquema de permissão apropriado para cada usuário e permitir que eles façam SSH.
Se você quiser fazer isso através do HTTP de qualquer maneira, você pode usar o PHP para canalizar comandos do sistema operacional desta maneira:
<?php
$var1 = exec("find / -name 'foo'");
echo $var1 // echo out the result
?>
É claro que tudo o que você envia para a linha de comando pode ser recuperado de um formulário. Em qualquer caso, você ainda precisará definir as permissões apropriadas no arquivo php para garantir que apenas os usuários autorizados acessem o formulário; caso contrário, você estaria canalizando os comandos do sistema operacional sob o contexto de segurança do usuário da Internet, o que não seria um bom idéia em tudo.