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 个没有指定用户名,命令执行后需要输入用户名和密码

相关推荐
米高梅狮子21 小时前
第2章 docker容器
运维·docker·云原生·容器·架构·kubernetes·自动化
kidwjb21 小时前
信号量在进程中的使用
linux·进程间通信
闵孚龙21 小时前
Claude Code Ultraplan 远程多代理规划全解析:AI Agent、CCR远程容器、异步规划、状态机、计划传送与企业级自动化治理
运维·人工智能·自动化
sulikey1 天前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·
二宝哥1 天前
Linux虚拟机网络配置
linux·运维·服务器
卧室小白1 天前
docker网络与服务编排与集群
运维·docker·容器
陳10301 天前
Linux:进程间通信 和 简单进程池
linux·运维·服务器
数字化顾问1 天前
(122页PPT)数字化架构的演进和治理(附下载方式)
java·运维·架构
jimy11 天前
改.bashrc,直观地判断本地repo是否有改动
linux·服务器
zt1985q1 天前
本地部署网页监控工具 Webmonitor 并实现外部访问
运维·服务器·网络·网络协议