美文网首页
SSH、SFTP、SCP-linux

SSH、SFTP、SCP-linux

作者: 成功的失败者 | 来源:发表于2018-10-19 10:46 被阅读17次
    SSH(选项)(参数)
    -1:强制使用ssh协议版本1;
    -2:强制使用ssh协议版本2;
    -4:强制使用IPv4地址;
    -6:强制使用IPv6地址;
    -A:开启认证代理连接转发功能;
    -a:关闭认证代理连接转发功能;
    -b:使用本机指定地址作为对应连接的源ip地址;
    -C:请求压缩所有数据;
    -F:指定ssh指令的配置文件;
    -f:后台执行ssh指令;
    -g:允许远程主机连接主机的转发端口;
    -i:指定身份文件;
    -l:指定连接远程服务器登录用户名;
    -N:不执行远程指令;
    -o:指定配置选项;
    -p:指定远程服务器上的端口;
    -q:静默模式;
    -X:开启X11转发功能;
    -x:关闭X11转发功能;
    -y:开启信任X11转发功能。
    
    ssh -p 2222 用户名@ip
    

    1.使用expect自动登录ssh

    #!/usr/bin/expect 
    set user [lindex $argv 0]
    set password 密码  
    if { $user == "用户1" } {
        spawn ssh -p 2222 用户1@47.98.39.229
        expect "用户1"
            send "$password\n"
    } else {
        spawn ssh -p 2222 用户2@47.98.39.229
        
    }
    interact
    

    2.ssh保持长连接的方式

    1.修改server端的etc/ssh/sshd_config
    ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接
    ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应
    systemctl reload sshd
    2.修改client端的etc/ssh/ssh_config添加以下:(在没有权限改server配置的情形下)
    ServerAliveInterval 60 #client每隔60秒发送一次请求给server,然后server响应,从而保持连接
    ServerAliveCountMax 3  #client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,server不会不响应
    3.在命令参数里ssh -o ServerAliveInterval=60 这样子只会在需要的连接中保持持久连接, 毕竟不是所有连接都要保持持久的
    
    SFTP(选项)(参数)
    -B:指定传输文件时缓冲区的大小;
    -l:使用ssh协议版本1;
    -b:指定批处理文件;
    -C:使用压缩;
    -o:指定ssh选项;
    -F:指定ssh配置文件;
    -R:指定一次可以容忍多少请求数;
    -v:升高日志等级。
    

    1.sftp使用上传方法:

    在本地终端输入:
    sftp -P 2222 用户名@ip
    ls 显示有权限的服务器
    第一步:进入目标服务器
    cd demo1 进入目标服务器
    ls 可查看目标服务器的目录
    第二步:显示本地目录及文件夹(用法,在ls cd前面加“l”)
    lls 可查看本地的目录
    lcd Downloads 
    第三步:上传文件
    put dist.zip
    第四步:找到文件
    到目标服务器,上传的文件位置是:/tmp
    文件拷贝: sudo cp /tmp/dist.zip /phpweb/punchcard_nuxt
    

    2.下载

    get 服务器文件 本地文件
    
    SCP(选项)(源文件 目标文件)

    直接用 scp 注意端口号P是大写,默认22号端口

    -1:使用ssh协议版本1;
    -2:使用ssh协议版本2;
    -4:使用ipv4;
    -6:使用ipv6;
    -B:以批处理模式运行;
    -C:使用压缩;
    -F:指定ssh配置文件;
    -l:指定宽带限制;
    -o:指定使用的ssh选项;
    -P:指定远程主机的端口号;
    -p:保留文件的最后修改时间,最后访问时间和权限模式;
    -q:不显示复制进度;
    -r:以递归方式复制。
    

    1.远程拷贝到本服务器

    scp -P 60022 用户名@ip:/data/test .
    

    2.本服务器拷贝到远程

    scp -P 60022 /test 用户名@ip:/data/test 
    

    相关文章

      网友评论

          本文标题:SSH、SFTP、SCP-linux

          本文链接:https://www.haomeiwen.com/subject/mkkyzftx.html