Ubuntu ssh安装 和 scp命令 使用

本文详细介绍了如何在Ubuntu系统中安装SSH服务并使用scp命令进行文件拷贝,包括安装步骤、默认端口修改、scp命令用法及常见错误处理,帮助用户解决在不同Linux系统间文件传输的问题。

ubuntu默认并没有安装ssh服务,可以通过如下命令进行:

 

xx@st:~$ ssh localhost

ssh: connect to host localhost port 22 : Connection refused

 

如上所示则说明还没有安装ssh.

通过apt-get安装如下:

xx@st:~$ sudo apt-get install ssh

 

ssh默认端口是22,可以通过sudo /etc/init.d/ssh start 修改默认端口。

  scp基于ssh登录,所以如果没有安装ssh无法进行文件拷贝。

一下关于scp的使用引自(http://blog.youkuaiyun.com/dlxu/archive/2007/04/16/1566772.aspx):

不同的Linux之间copy文件常用有3种方法,第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便,第三种就是利用scp命令来进行文件复制。

 

    scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

 scp  / home / daisy / full . tar . gz root@ 172.19 . 2.75 : / home / root

然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

    如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

 scp root@ 172.19 . 2.75 : / home / root  / home / daisy / full . tar . gz 

可能会出现key错误:若更换了服务器,又使用了相同IP,这会导致公钥与服务器的私钥配对失败,无法登陆服务器,服务器的RSA公钥保存在.ssh/known_hosts中,这时候需要删除旧服务器(192.168.1.254)的公钥才行,操作如下:

ssh-keygen -f "~/.ssh/known_hosts" -R 192.168.1.254


<think>嗯,用户想了解Ubuntu系统中SCP命令的具体使用方法,并且需要示例。首先,我需要回忆SCP的基本用法,确保正确性。记得SCP是基于SSH的,所以在使用前得确认SSH服务已经安装并运行,尤其是在远程主机上。 用户可能已经安装SSH,但可能需要确认安装步骤,比如通过sudo apt install openssh-client。不过用户可能更关注实际使用示例,所以应该重点放在各种常见场景,比如本地到远程、远程到本地、目录传输、端口指定等。 要注意用户提到的Ubuntu系统,所以路径示例应该符合Linux结构,比如/home/user/file.txt这样的格式。另外,端口更改的情况可能也常见,特别是当远程主机使用非默认SSH端口时,需要用-P参数指定,比如-P 2222。 还有,用户可能需要知道如何保持文件属性递归复制目录,所以需要包括-r-p选项的说明。此外,安全性方面,使用SSH密钥认证可能比密码更安全,可以提到免密登录的设置,引用之前的资料中提到的配置方法,比如引用[3][4]。 需要检查是否有常见的错误,比如路径错误或权限问题,提醒用户注意路径的正确性以及是否有写入权限。另外,如果用户需要处理大量文件或大文件,可以建议使用rsync代替,但用户的问题明确是关于SCP的,所以这只是一个附加建议。 最后,生成相关问题时要围绕SCP的进阶用法、安全性、排错替代工具等方面,帮助用户深入学习解决问题。</think>### Ubuntu系统SCP命令使用详解 SCP(Secure Copy Protocol)是基于SSH协议的安全文件传输工具,Ubuntu系统中默认包含在openssh-client软件包中[^1]。以下是具体使用方法: #### 一、基础语法 $$scp [参数] 源文件路径 目标路径$$ #### 二、常用场景示例 1. **本地→远程** ```bash scp /home/user/file.txt username@remote-host:/remote/directory/ ``` * 会提示输入远程主机的用户密码 * 支持使用`-P 2222`指定非默认SSH端口[^4] 2. **远程→本地** ```bash scp username@remote-host:/remote/file.txt /local/directory/ ``` * 参考示例:[^2] 3. **目录递归传输** ```bash scp -r /local/folder username@remote-host:/remote/path/ ``` * `-r`参数实现目录递归复制 4. **保持文件属性** ```bash scp -p document.pdf user@192.168.1.100:~/Downloads/ ``` * `-p`保留修改时间、访问时间权限 #### 三、高级技巧 1. **使用密钥认证** ```bash scp -i ~/.ssh/private_key.pem file.txt user@host:/path/ ``` * 需提前配置SSH免密登录[^3] 2. **限速传输** ```bash scp -l 800 backup.iso user@host:/storage/ ``` * `-l 800`限制传输速率为100KB/s(800Kbps) #### 四、注意事项 1. 路径包含空格时需使用引号:`"file name.txt"` 2. 远程主机必须开启SSH服务 3. 使用`-v`参数显示详细传输日志 4. 大文件传输建议搭配`screen`或`tmux`使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值