如何通过SSH和sudo su从服务器复制文件到本地(无密码sudo场景)
解决日志查看及复制到本地的方案
一、更高效的服务器日志查看方法
不用cat一次性输出全部内容,试试这些实用命令:
- 分页查看日志:直接执行
sudo less path/to/log.file,支持上下方向键翻页,输入/关键词可搜索内容,按q退出,彻底解决CLI只能看到最后几行的问题。 - 实时追踪最新日志:执行
sudo tail -f path/to/log.file,会实时显示新增的日志条目,按Ctrl+C停止追踪。 - 查看指定行数的日志:
- 查看最后100行:
sudo tail -n 100 path/to/log.file - 查看开头100行:
sudo head -n 100 path/to/log.file
- 查看最后100行:
二、将日志文件复制到本地的方法
方法1:通过SSH直接读取并保存到本地
在Windows的Bash终端执行以下命令,利用免密sudo直接读取服务器日志并保存到本地:
ssh username@ip "sudo cat path/to/log.file" > /本地/目标目录/log.file
比如要保存到Windows的D:\logs目录,Bash中可写成/mnt/d/logs/log.file。
方法2:先复制到服务器普通用户目录再传输
若担心直接读取的权限问题,可先在服务器上将日志复制到普通用户可访问的目录,再进行传输:
# 1. 登录服务器后执行 sudo cp path/to/log.file ~/temp_log.file sudo chown username:username ~/temp_log.file # 2. 在本地Bash执行 scp username@ip:~/temp_log.file /本地/目标目录/log.file # 3. 可选:在服务器上删除临时文件 rm ~/temp_log.file
内容的提问来源于stack exchange,提问作者s3c
相关产品推荐
相关产品推荐

