使用sed命令注释Subsystem sftp /usr/libexec/openssh/sftp-server行并在后面添加内容Subsystem sftp internal-sftp
时间: 2024-08-13 12:10:26 浏览: 110
Linux 下sftp配置之密钥方式登录详解
你可以使用`sed`命令来注释掉`Subsystem sftp /usr/libexec/openssh/sftp-server`这一行,并在其后追加新的内容`Subsystem sftp internal-sftp`。这里是一个例子:
```bash
$ sed -i 's/^Subsystem sftp \+/# &/' /etc/ssh/sshd_config && echo "Subsystem sftp internal-sftp" >> /etc/ssh/sshd_config
```
解释一下这个命令:
- `sed -i`: 在原文件(这里是`/etc/ssh/sshd_config`)上直接修改,`-i`选项表示立即在原文件中进行编辑。
- `s/^Subsystem sftp \+/# &/`: 这是一个正则表达式的替换操作,`^Subsystem sftp`匹配的是以`Subsystem sftp`开始的行,`\+`用于匹配一个或多个空格,`# &`将整个匹配行加上井号注释(`#`)。所以原来的行就会被注释掉。
- `echo "Subsystem sftp internal-sftp" >> /etc/ssh/sshd_config`: 这是在命令末尾追加新内容,`>>`操作符用于向文件末尾追加。
执行完上述命令后,原始的`sftp`服务会被注释掉,并新增了`internal-sftp`的子系统。
阅读全文