ubuntu下scp命令使用,开启ssh服务

Linux SCP 命令

Linux scp 命令用于 Linux 之间复制文件和目录,scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

scpsecure copy的简写,用于在 Linux 下进行远程拷贝文件的命令,scp传输是加密的,可能会稍微影响一下速度。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然rsync会比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘 I/O 非常高,而scp基本不影响系统正常使用。

注意:使用 scp 命令要确保使用的用户具有可读取远程服务器相关文件的权限,否则 scp 命令无法起作用。

开启ssh服务

第一步:安装 openssh-server (通常 Linux 系统会默认安装 openssh 的客户端软件 openssh-client),所以需要自己安装一下服务端 :

复制代码
sudo apt-get install openssh-server

第二步:开启 OpenSSH 服务

复制代码
sudo /etc/init.d/ssh start

或者

sudo service ssh start

第三步:验证是否开启服务

复制代码
ps -e | grep ssh  (或sshd)

如果有输出 sshd 证明已经开启 ssh 服务

远程 SSH

复制代码
ssh username@192.168.1.112

username 为该硬件 @192.168.1.112 的用户账号,回车后一般会提示你输入相应密码

设置开机启动

进入 /etc/rc.local 编辑配置

复制代码
vi /etc/rc.local

在最后插入两行

  1. service ssh start

  2. exit 0

保存退出

这样即可在 Ubuntu 开机时自动启动 ssh-server 服务

scp用法和常用命令

  1. 从服务器上下载文件

    scp username@servername:/path/filename /var/www/local_dir (本地目录)

示例scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt的文件下载到/var/www/local_dir (本地目录)

  1. 上传本地文件到服务器

    scp /path/filename username@servername:/path

示例scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

  1. 从服务器下载整个目录

    scp -r username@servername:/var/www/remote_dir/ (远程目录) /var/www/local_dir (本地目录)

示例scp -r root@192.168.0.101:/var/www/test /var/www/

  1. 上传目录到服务器

    scp -r local_dir username@servername:remote_dir

示例scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

常见命令参数

复制代码
usage: scp [-1246Bcpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2

表格

参数 说明
-q quiet(静默模式,不显示传输进度)
-r recursive(递归复制整个目录)
-p property(保留原文件的修改时间、访问时间和权限)
-v verbose(详细输出传输过程)
-i: identity_file(从指定文件中读取传输时使用的密钥文件,此参数直接传递给 ssh)
-P: port(指定远程主机的端口号)

常见命令展示

SCP 命令的实际应用概述:从本地服务器复制到远程服务器

(1) 复制文件:

命令格式:

复制代码
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

第 1,2 个指定了用户名,命令执行后需要输入用户密码,第 1 个仅指定了远程的目录,文件名字不变,第 2 个指定了文件名

第 3,4 个没有指定用户名,命令执行后需要输入用户名和密码,第 3 个仅指定了远程的目录,文件名字不变,第 4 个指定了文件名

(2) 复制目录:

命令格式:

复制代码
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder

第 1 个指定了用户名,命令执行后需要输入用户密码

第 2 个没有指定用户名,命令执行后需要输入用户名和密码

相关推荐
Gofarlic_oms12 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
档案宝档案管理3 小时前
权限分级管控,全程可追溯,筑牢会计档案安全防线
运维·网络·人工智能
倔强的石头1065 小时前
【Linux指南】基础IO系列(八):实战衔接 —— 给微型 Shell 添加完整重定向功能
linux·运维·服务器
try2find5 小时前
打印ascii码报错问题
java·linux·前端
观北海5 小时前
AiScan-N:AI全自动化渗透测试工具的深度技术解析
运维·自动化
Ujimatsu5 小时前
虚拟机安装Ubuntu 26.04.x及其常用软件(2026.4)
linux·运维·ubuntu
一直会游泳的小猫8 小时前
homebrew
linux·mac·工具·包管理
Agent产品评测局8 小时前
制造业生产调度自动化落地,完整步骤与避坑指南:2026企业级智能体选型与实战全景
运维·人工智能·ai·chatgpt·自动化
寒秋花开曾相惜8 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
狂奔的sherry8 小时前
一次由 mount 引发的 Linux 文件系统“错觉”
linux·运维·服务器