V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jinxueliu
V2EX  ›  问与答

大家推荐一款 linux 下的传文件通讯软件呗?

  •  
  •   jinxueliu · 2016-05-17 09:43:06 +08:00 · 3619 次点击
    这是一个创建于 3147 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2016-05-17 13:48:43 +08:00
    大家工作中,同事之间一般用什么方式来传文件( linux 系统下)?最佳实践是什么?
    像 scp 这样的命令因为需要输入对方的密码,所以不太方便
    40 条回复    2016-05-18 11:45:23 +08:00
    zrp1994
        1
    zrp1994  
       2016-05-17 09:54:50 +08:00
    scp
    zhujinliang
        2
    zhujinliang  
       2016-05-17 09:55:59 +08:00
    nginx
    congeec
        3
    congeec  
       2016-05-17 09:59:26 +08:00
    1. socat 和 nc 这种东西屌炸天,啥都能干
    2. python2 -mSimpleHTTPServer, python3 -mhttp.server, devd, mongoose, nginx
    3. scp, ftp, rsync
    嗯,你也能用 email + 附件
    cabbage
        4
    cabbage  
       2016-05-17 10:02:28 +08:00 via Android
    FTP , samba ,甚至 Nginx 开 http 下载也行啊
    SpicyCat
        5
    SpicyCat  
       2016-05-17 10:31:30 +08:00
    要传文件,还得是通讯软件?
    如果只是传文件的话楼上的就可以了,个人喜欢 ftp ,最近刚用了 BT Sync ,感觉也挺好。
    guokb
        6
    guokb  
       2016-05-17 10:32:08 +08:00
    看妳文件多少和多大啦,貌似 telegram 也可以 (如果選定是通訊軟件的話)。
    murusu
        7
    murusu  
       2016-05-17 10:35:48 +08:00
    DuktoR6
    jinxueliu
        8
    jinxueliu  
    OP
       2016-05-17 10:38:38 +08:00
    @zrp1994 这个有个问题,要输入密码,假如同事不愿意告诉密码呢,因为涉及到安全问题
    jinxueliu
        9
    jinxueliu  
    OP
       2016-05-17 10:39:46 +08:00
    @guokb 2GB 以下的局域网传输
    SevenJ
        10
    SevenJ  
       2016-05-17 10:42:49 +08:00
    nc -l 7777 < file
    nc xxxx 7777 > file
    Aalen
        11
    Aalen  
       2016-05-17 10:59:45 +08:00
    scp, darkhttpd
    sen506
        12
    sen506  
       2016-05-17 11:52:48 +08:00 via Android
    rz sz ?
    zrp1994
        13
    zrp1994  
       2016-05-17 11:54:51 +08:00 via iPhone
    @jinxueliu 可以用 ssh key ,这样只要提供你要文件就行了
    zrp1994
        14
    zrp1994  
       2016-05-17 11:55:38 +08:00 via iPhone
    @jinxueliu 密钥文件......
    liuchang0812
        15
    liuchang0812  
       2016-05-17 12:23:33 +08:00
    @zrp1994 公钥
    ivenvd
        16
    ivenvd  
       2016-05-17 13:05:36 +08:00
    LZ 说的是通信软件啊……正常不是应该推荐 Skype , Telegram , Bearychat 之类的么……
    jinxueliu
        17
    jinxueliu  
    OP
       2016-05-17 13:37:21 +08:00
    @zrp1994 这是个好方法,具体怎么操作
    jinxueliu
        18
    jinxueliu  
    OP
       2016-05-17 13:37:48 +08:00
    @ivenvd Telegram 局域网传文件的效率如何?
    jinxueliu
        19
    jinxueliu  
    OP
       2016-05-17 13:39:27 +08:00
    @SevenJ 开始传文件的时候,我是不是还得通过其他通讯软件通知同事,然后告诉他监听的端口号?
    des
        20
    des  
       2016-05-17 13:45:59 +08:00 via Android
    飞鸽没人推荐吗?
    jinxueliu
        21
    jinxueliu  
    OP
       2016-05-17 13:56:07 +08:00
    @SpicyCat ftp 是需要用户名密码验证的吧,如果同事之间互相传输,每次都得输入用户名和对方的密码
    zrp1994
        22
    zrp1994  
       2016-05-17 13:57:53 +08:00
    @jinxueliu
    在自己的 Linux 机器上运行:
    ```
    ssh-keygen -t rsa
    ```
    把生成的 id_rsa.pub (或者你取的其它名字的*.pub 公钥文件)拷贝给你的同事,让他另起一行地粘贴到到他的~/.ssh/authorized_keys 文件中(如果没有的话创建一个)
    然后
    ```
    scp -i /path/to/your/id_rsa [other options]
    ```
    就可以不用输密码了,/path/to/your/id_rsa 是你生成的 id_rsa.pub (或者其他名字)对应私钥文件路径。

    谷歌`scp ssh-key`也可以找到很多教程。
    jinxueliu
        23
    jinxueliu  
    OP
       2016-05-17 14:00:57 +08:00
    @zrp1994 感谢!
    skydiver
        24
    skydiver  
       2016-05-17 14:08:08 +08:00
    rsync ,没有其他
    BFDZ
        25
    BFDZ  
       2016-05-17 14:13:10 +08:00 via Android
    btsync
    lonelinsky
        26
    lonelinsky  
       2016-05-17 14:42:33 +08:00
    @zrp1994 @jinxueliu 这种+ssh pubkey 的方法等于要求对方把自己电脑账户共享给你了,明显不合适啊,建议要么开一个账户专门用于文件共享,否则的话还是用匿名的 ftp , nginx , 或者 samba 吧, 用 smaba 的话还可以跨平台呢 =。=
    SpicyCat
        27
    SpicyCat  
       2016-05-17 14:45:04 +08:00
    @jinxueliu ftp 可以设置成匿名登陆啊。不建议用 scp ,实在要用,创建一个专门的账户,用那个账户进行 scp 操作。
    xuhaoyangx
        28
    xuhaoyangx  
       2016-05-17 15:02:21 +08:00
    btsync
    zrp1994
        29
    zrp1994  
       2016-05-17 15:07:30 +08:00
    @lonelinsky
    @SpicyCat
    @jinxueliu
    如果考虑到同事和楼主的关系没有这么亲密的话, ssh-key 确实不太合适……

    楼主如果图省事的话,试试 nc 吧:
    http://blog.sina.com.cn/s/blog_502c8cc4010111wv.html
    poke707
        30
    poke707  
       2016-05-17 15:59:14 +08:00
    btsync + 1
    SpicyCat
        31
    SpicyCat  
       2016-05-17 17:09:37 +08:00
    @zrp1994 nc 传大文件有几率传不完整,所以用 nc 一定要验证 MD5
    greenskinmonster
        32
    greenskinmonster  
       2016-05-17 17:12:00 +08:00
    Syncthing 共享个目录,或者 btsync 应该也行。
    jinxueliu
        33
    jinxueliu  
    OP
       2016-05-17 17:14:47 +08:00
    @lonelinsky @SpicyCat 就是说要共享的文件统一上传到一个服务器,然后都从这台服务器下载是吗
    lonelinsky
        34
    lonelinsky  
       2016-05-17 17:23:05 +08:00
    @jinxueliu 不用, smba 可以把自己电脑的一个文件夹共享出来的,然后告诉别人地址就好了,和 win 下的共享是一样的, nginx , ftp 的话也可以自己搭,其实还有一个选择可以用坚果云的团队版,不过需要付费就是了。
    hanqi7012
        35
    hanqi7012  
       2016-05-17 19:15:10 +08:00 via Android
    ngixn ……经常下载些东西用 vps 然后转过来……然而有一天莫名其妙流量就超了……
    acess
        36
    acess  
       2016-05-17 19:35:16 +08:00
    用 NFS 或 CIFS 可以把整个目录挂载过来用。
    agog
        37
    agog  
       2016-05-17 21:20:48 +08:00
    飞鸽传书
    jinxueliu
        38
    jinxueliu  
    OP
       2016-05-17 22:47:38 +08:00
    @lonelinsky 好的,谢谢
    jinxueliu
        39
    jinxueliu  
    OP
       2016-05-17 22:49:43 +08:00
    谢谢大家的热心回答
    SpicyCat
        40
    SpicyCat  
       2016-05-18 11:45:23 +08:00
    @jinxueliu samba 共享文件夹也行,但是个人感觉 samba 在 Linux 上设置很复杂,而且有几率不成功。 FTP Server 可以搭建在本机电脑上,指定某个文件夹做共享,还能指定是只读还是可写的。如果用 Linux ,可以用 vsftp ,搭建简单,而且跨平台,任意平台只要有 ftp 客户端都能访问。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:27 · PVG 21:27 · LAX 05:27 · JFK 08:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.