SSH文件传输研究

服务器传输文件比较流行用SFTP,不用额外安装任何服务器端程序,使用加密传输认证信息和传输数据,相对安全,配置简单和SSH端口一致。

常见命令使用

[root@www ~]# scp [-pr] [-l 速率] file [账号@]主机:目录名 <==上传
[root@www ~]# scp [-pr] [-l 速率] [账号@]主机:file 目录名 <==下载
选项与参数:
-p :保留原本档案的权限数据;
-r :复制来源为目录时,可以复制整个目录 (含子目录)
-l :可以限制传输的速度,单位为 Kbits/s ,例如 [-l 800] 代表传输速限 100Kbytes/s

sftp登录后,除了上传/下载文件下载文件外,

put/get {远程主机的目录/文件名}

只能使用创建目录mkdir,更改档案或目录的权限,
查看/进入本机目录文件

lls  {本地主机的目录}
lcd  {本地主机的目录}

修改文件名

rename 原来的文件名 新的文件名

其他就没有功能了,写脚本完成解压缩就需要ssh命令辅助。大量频繁文件上传解压缩也会消耗服务器性能,进程阻塞后就会失败。这时候需要ps -aux查看是否有很多sftp进程,进行相应调整。很多管理脚本都会涉及ssh的连接。

一般建议增大SSH连接数,sshd_config里面

MaxSessions     10:20:30
               start:rate:full

start表示未完成认证的连接数,当未完成认证的连接数超过start时,rate/100表示新发起的连接有多大的概率被拒绝连接。

只填写一个整数,表示同时允许几个尚未登入的联机数,按实际情况增大,如果有Match user ssh用户,其条目里的MaxSessions也要相应增大。

同时注意以下保活设置也要相应延长:

ClientAliveInterval  n
ClientAliveCountMax  m

无应答的客户端大约会在n*m秒后被强制断开。
sshd -T检查,改完后记得重启sshd服务。

如果只希望用户下载,而不要使用其他服务,建议设置不允许shell登录。

passwd -l 用户名

你可能感兴趣的:(linux,sftp)