Cabeçalho do recurso de arquivo ssh

0

Classifique uma pergunta estranha, mas existe alguma maneira de operar recursos remotos como arquivos UNIX?

Por exemplo Estou procurando uma maneira de realizar tarefas como as seguintes:

head ssh://hostname:/path/to/file.txt
cat http://domain.com/file.html > local-file

Eu suspeito strongmente que a resposta seja não. Quaisquer sugestões em tentativas neste tipo de coisa também são encorajadas

    
por MRocklin 16.04.2014 / 22:19

2 respostas

1

Nativamente, não existe essa capacidade no SSH.

No entanto, você pode conseguir praticamente a mesma coisa com o SSHFS , que permite montar um arquivo remoto, acessível por SSH sistema e, em seguida, agir sobre ele localmente como se fosse um recurso local.

Você também pode estabelecer um túnel SSH para fazer proxy de algum outro método de compartilhamento de rede, como NFS, SMB ou CIFS, que novamente atingiria um resultado final semelhante.

    
por 16.04.2014 / 22:24
0

Para o SSH, o que você pode fazer é executar o comando não interativo no sistema remoto:

ssh hostname "head /path/to/file"

Isso permite redirecionar a saída para o processo em sua máquina local:

ssh hostname "cat /path/to/file" | head

O head aqui é executado em sua máquina local. Você também pode obter saída local e redirecioná-la para uma sessão SSH:

cat /local/file | ssh hostname "head > /remote/file"

Isso levaria o conteúdo do seu arquivo local, canalizaria-o através da conexão SSH para uma execução remota e gravaria a saída da cabeça em um arquivo no servidor.

Para acessar arquivos HTTP (e HTTPS) e processá-los localmente, a ferramenta escolhida é normalmente curl :

curl http://domain.com/file.html > local-file

Aqui curl é executado localmente e busca o arquivo HTML para você trabalhar. Ele não permite que você altere os arquivos remotos, pois isso não é um recurso do protocolo HTTP.

    
por 16.04.2014 / 23:29

Tags