¿Qué tiene que ver Windows con esto? No estoy tratando de compartir con una máquina Windows ...
Tienes razón, esto puede ser confuso. Entonces, déjenme tratar de aclarar los términos en primer lugar:
La forma en que Windows comparte archivos e impresoras se llama SMB . La gente del proyecto SAMBA ha implementado todos los protocolos y especificaciones de Microsoft para Linux. Ubuntu, por lo tanto, admite el mismo tipo de intercambio de archivos que Windows, que se llama Samba.
Puede usar SAMBA para compartir archivos entre máquinas Linux. De hecho, puede preferirlo en caso de que, por ejemplo, tenga un amigo con su computadora con Windows.
Alternativamente, puede usar la forma Linux de compartir archivos, que es NFS (Sistema de archivos de red). Esta respuesta a una pregunta anterior explica cómo hacerlo. (pero es bastante técnico)
Entonces, cuando el cuadro de diálogo Opciones para compartir le pide que instale los paquetes, en realidad no está instalando ningún software de Microsoft ni nada de eso. Anímate y hazlo, es perfectamente seguro.
Apéndice:
Puede intentar habilitar el intercambio antes de seguir las instrucciones de Salih Emin; Si no funciona, recibirá una advertencia simple, luego puede seguir los pasos que Salih describe si es necesario. Lo he probado en un sistema recién instalado y actualizado, y de hecho necesitaba hacerlo.
En la actualidad, hay un pequeño error en Lucid que aparece en Launchpad: error # 536766 . Este error no solicita al usuario que instale los paquetes necesarios para completar la configuración de uso compartido de archivos. Hasta que se aborde eso, aquí hay una solución rápida.
Necesita instalar libapache2-mod-dnssd y reiniciar. Haga clic en este enlace para instalarlo o busque libapache2-mod-dnssd en el Centro de software.
Una vez que lo tenga instalado, diríjase a Sistema → Preferencias → Compartir archivos personales , y marque la casilla 'Compartir archivos públicos en la red'.
Una vez hecho todo esto, debería poder ver todas las otras computadoras en su red que han permitido compartir archivos públicos dentro de la carpeta Pública. Simplemente haga clic en Lugares → Red , y allí debería ver todas las computadoras disponibles y sus carpetas públicas compartidas.
Al hacer doble clic en el icono del servidor, se montará la carpeta pública relevante en su escritorio.
Vía texto de enlace
fuente
Simplemente puede ejecutar un servidor simple HTTP en la máquina Linux y acceder al mismo en la otra máquina.
Pasos:
python -m SimpleHTTPServer
ifconfig
.Obtiene los archivos necesarios en la carpeta para descargar.
fuente
python3 -m http.server
Creo que en eso se enumeran los paquetes de SAMBA, o es al menos parte de su descripción. Como alternativa, puede probar Preferencias-> Compartir archivos, que creo que utiliza un mecanismo diferente. Sin embargo, Samba es una cosa útil para instalar.
fuente
Puede instalar "qweborf". Compartirá el directorio a través de HTTP y los otros hosts podrán acceder con un navegador.
También puede habilitar webdav y permitir que el directorio se monte como un sistema de archivos de lectura / escritura (probado con davfs2, KDE, Gnome2, OsX).
fuente
Si desea una integración perfecta en Ubuntu, y no está interesado en la compatibilidad con Windows, SSH es su arándano.
Consulte ¿Cómo puedo compartir archivos entre dos máquinas Linux a través de LAN?
Es posible que deba instalar el servidor SSH con:
Desde la aplicación de administrador de archivos en su cliente, puede acceder a su servidor con:
Para acceder a archivos desde una terminal o mediante programación, use
sshfs
para crear un punto de montaje en el sistema de archivos del cliente.fuente
scp
, y (aún mejor)rsync
.Para las redes solo para Linux, encuentro que SSHFS es nativo, estable y extremadamente rápido. Tengo dos máquinas Xubuntu (18.04) compartiendo / carpetas de inicio sobre SSH.
Aquí se explica cómo configurar esto sshfs y reconectarse automáticamente después de reiniciar usando fstab sin tener que proporcionar una contraseña. Un gran agradecimiento al usuario de serverfault kubanczyk por cómo volver a conectarse después de una suspensión / reanudación remota.
Usaré "Máquina local - surfbox" para la computadora desde la que se está conectando, y "Máquina remota - devbox" para la computadora a la que se está conectando.
Reemplace "usuario remoto" a continuación con el nombre de usuario con el que inicia sesión en la máquina Remota, y "localizador" con el nombre de usuario con el que inicia sesión en la máquina Local. Para verificar los nombres de usuario, escriba
echo $USER
terminal en máquinas remotas y locales.Además, verifique su ID de usuario o ID de grupo, ambos deben ser 1000.
GroupID:
id -g localuser
UserID:id -u localuser
1. Obtenga direcciones IP de sus máquinas locales y remotas.
Usaré 192.168.1.150 para la máquina local ('surfbox') y 192.168.1.151 para la máquina remota ('devbox')
2. Instalar paquetes en máquinas locales y remotas
3. Cree un fusible de grupo y agréguele localizador
Crea un grupo:
sudo groupadd fuse
Agregar localizador al grupo:
sudo usermod -a -G fuse $user
4. Habilite "allow_other" en la configuración del fusible
Necesitaremos esta opción al montar en fstab
Edite
/etc/fuse.conf
con su editor de línea de comando. Elimine el hashtag antesuser_allow_other
y guárdelo.5. Generar claves SSH en la máquina local
No proporcione una contraseña cuando se le solicite . Simplemente presione Entrar para dejar en blanco.
ssh-keygen -t rsa -C [email protected]
Las claves se almacenan en la carpeta /.ssh del directorio de inicio de la máquina local.
6. Transfiera la clave SSH pública de su máquina local a la máquina remota
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Se le solicitará una contraseña para el usuario remoto en la máquina remota. La clave pública de la máquina local ahora se agrega al archivo ~ / .ssh / optional_keys en la máquina remota.
7. Cree un directorio en la carpeta Máquina local / mnt donde montará la máquina remota / carpeta de inicio.
Elija cualquier nombre que tenga sentido para su máquina remota.
sudo mkdir /mnt/devboxhome
8. Monte la máquina remota / directorio de inicio desde la terminal
La sintaxis para sshfs es
sshfs [user@]host:[directory] mountpoint [options]
usamos
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
ejemplo: suponiendo que "steve" es el nombre de usuario en máquinas locales y remotas
sudo sshfs [email protected]:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Como ha transferido la clave RSA pública a la máquina remota, no se le solicitará la contraseña del usuario remoto.
Recibirá una advertencia de que la máquina no es confiable y se le preguntará si debe agregarse. Agregue la máquina remota como confiable.
9. Verificar: Examinar la máquina remota / directorio de inicio
En la terminal de la máquina local, ahora puede enumerar la máquina remota / directorio de inicio en / mnt / devboxhome
cd /mnt/devboxhome ls
o use Nautilus para explorar el directorio. Excelente.
10. Habilite la reconexión después de reiniciar
Agregaremos una entrada en / etc / fstab para que esto suceda. Necesitará su ID de usuario de máquina local o groupid; consulte la introducción si se lo perdió. Edite / etc / fstab con su editor de línea de comando y agregue estas dos líneas al final de / etc / fstab
# Mount devbox at boot [email protected]:/home/[remoteuser]/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
ServerAliveCountMax
fallan los pings consecutivos, vuelva a conectar.Un usuario que inicie sesión como Steve en máquinas locales y remotas tendría:
[email protected]:/home/steve/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,serversliveinterval=15,serveralivecountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
IMPORTANTE : una barra diagonal después del directorio remoto: [email protected]: / home / steve /
guardar / etc / fstab y ...
11. Reiniciar
Ahora debería poder acceder a la máquina remota / directorio de inicio en la máquina local / mnt / devboxhome En Nautilus puede arrastrar esta carpeta a la barra de Lugares
12. Repita
Siga los mismos pasos nuevamente en la máquina remota para compartir el directorio / home de la máquina local.
fuente
Mi forma de compartir archivos:
Vaya a la carpeta que desea compartir, abra la terminal y ejecute este comando:
Podrá acceder a esa carpeta en todas las máquinas de la misma red en la dirección IP mencionada por la salida de ese comando.
fuente
zx81roadkill es correcto, use "sshfs". Samba es una mierda, NFS es basura. Sshfs es completamente utilizable desde mi computadora aquí en California hasta una computadora en Argentina. Es completamente seguro, es tan rápido como cualquier otra cosa (tengo una línea de gibabit).
Sshfs es relativamente nuevo en comparación con Samba y NFS, pero es muy superior a cualquiera de ellos. Aquí hay un ejemplo de cómo ejecutarlo (suponiendo que tenga todos los paquetes instalados)
Una vez que ingrese la contraseña, / tmp / my_mount contendrá todos los archivos de "nombre de usuario" en "máquina". No te molestes en jugar con Samba o NFS. Son solo un dolor inútil en el trasero para configurar o configurar.
Para desmontar:
y si eso falla (por cualquier razón):
Todos los datos enviados a través del punto de montaje están encriptados. Por qué esta no es la forma estándar, totalmente aceptada, de hacer un montaje en una máquina remota es un misterio para mí. Es muy superior a cualquier otro método en términos de simplicidad.
Si necesita velocidad bruta, tal vez esa parte hinchada de basura Samba lo haga, o NFS. No sé, 100 MB / s + es lo suficientemente bueno para mí.
fuente