Ir al contenido

Files transferred over shell protocol

De Wikipedia, la enciclopedia libre

Esta es una versión antigua de esta página, editada a las 16:33 4 abr 2008 por Arklad (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

(difs.) ← Revisión anterior · Ver revisión actual (difs.) · Revisión siguiente → (difs.)

FIles transferred over SHell protocol es un protocolo para usar SSH o RSH en la transferencia de ficheros entre máquinas, y para la gestión de ficheros remotos.

La ventaja de FISH es que todo lo que necesita del lado del servidor es una implementación de SSH o RSH, un shell Unix] y varias utilidades estándar para Unix como ls, cat o dd. Opcionalmente, también puede estar instalado una aplicación servidora para FISH, que ejecute las órdenes asociadas de forma más rápida que un shell de Unix.

El protocolo fue diseñado por Pavel Machek en 1998 para Midnight Commander.

Mensajes del protocolo

Los clientes envían mensajes según la siguiente forma:

#ORDEN_FISH parámetros...
órdenes equivalentes del shell,
posiblemente multi-línea

Fish commands are all defined, shell equivalents may vary. Fish commands always have priority: the server is expected to execute a fish command if it understands it. If it does not, however, it can try and execute a shell command. When there is no special server program, Unix shell ignores the fish command as a comment and executes the equivalent shell command(s).

Server replies are multi-line, but always end with

### xyz<optional text>

line. ### is a prefix to mark this line, xyz is the return code. Return codes are superset to those used in ftp. The codes 000 and 001 are special, their meaning depends on presence of server output before the end line.

Inicio de sesión

El cliente inicia la conexión SSH o RSH con echo FISH:;/bin/sh en la máquina remota. Esto debería permitir al servidor distinguir las conexiones FISH de las SSH o RSH habituales.

Las primeras dos órdenes enviadas al servidor son FISH y VER, para negociar el protocolo FISH, su versión y sus extensiones.

#FISH
echo; start_fish_server; echo '### 200'
#VER 0.0.2 <feature1> <feature2> <...>
echo '### 000'

El servidor puede contestar a la orden VER con líneas como la siguiente, indicando la versión y extensiones soportadas del protocolo FISH:

VER 0.0.0 <feature2> <...>
### 200

Implementaciones

Enlaces externos