虚拟机中ssh和scp的使用

本文介绍了SSH协议及其在Ubuntu和Fedora系统中的应用。详细讲述了如何开启SSH服务器、使用SSH进行远程登录,并通过SCP命令实现文件的安全传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       ssh是专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题,在我使用的unbuntu和fedora中都已经安装了该程序,ssh分为客户端和服务器端,通过它可以进行远程登录管理、远程文件传输等等,首先我们要在系统中开启ssh服务器,ssh服务器进程名一般为sshd,可以使用“ps -aux|grep sshd”来查看是否运行了ssh服务器程序,如果没有,可以使用sudo /etc/init.d/sshd start开启服务器程序,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

     我在虚拟机中有两个系统,一个ubuntu,192.168.1.105,用户名wangfeng2500;一个fedora,192.168.1.103,用户名wangfeng。然后使用以下方式登陆SSH:

    (1) 在ubuntu中,在命令行输入ssh wangfeng@192.168.1.103后,输入密码,就相当于登录到了fedora中的wangfeng用户中了,然后可以进行相关操作。

    (2)在fedora中,在命令行中输入ssh wangfeng2500@192.168.1.105,输入密码,也就相当于登录到了ubuntu中的wangfeng2500用户中了。

   (3)有一个问题是,我使用ssh 192.168.105(或者103),前面不加用户名时没有运行成功。

  当ssh可以正常运行后,scp也就可以正常运行了。

    

   通过scp命令将fedora中的文件远程传输到ubuntu中

### 使用 SSH SCP 协议向树莓派上传或下载文件 #### 一、SSH 基础 Secure Shell (SSH) 是一种网络通信协议,主要用于安全地访问远程计算机。它提供了加密的数据传输通道,确保数据的安全性隐私性[^1]。 要连接到树莓派并执行操作,可以使用以下命令来建立 SSH 连接: ```bash ssh username@raspberry-pi-ip-address ``` 其中 `username` 是你在树莓派上的用户名(通常为 `pi`),而 `raspberry-pi-ip-address` 则是树莓派的 IP 地址。例如: ```bash ssh pi@192.168.141.103 ``` #### 二、SCP 文件传输基础 Secure Copy Protocol (SCP) 是基于 SSH 的文件传输工具,允许用户在本地机器远程主机之间高效地复制文件[^2]。 ##### 下载文件(从树莓派到本地) 如果需要将树莓派中的某个文件下载到本地电脑,可使用如下命令: ```bash scp pi@raspberry-pi-ip-address:/path/to/file /local/path/ ``` 例如,假设你想将树莓派 `/home/pi/assert.c` 文件下载到当前工作目录下,则运行: ```bash scp pi@192.168.141.103:/home/pi/assert.c ./ ``` ##### 上传文件(从本地到树莓派) 反之,若想将本地文件上传至树莓派,只需调整源路径与目标路径的位置即可。例如,将本地桌面的一个 Python 脚本 `test.py` 发送到树莓派用户的家目录中: ```bash scp /Users/mac/Desktop/test.py pi@192.168.120.204:/home/pi/ ``` #### 三、高级选项配置 为了满足更复杂的场景需求,SCP 提供了一些额外的功能参数[^3]: - **递归模式**:当需要拷贝整个目录而非单个文件时,需加上 `-r` 参数。 ```bash scp -r local_directory_path user@remote_host:destination_path ``` - **限速功能**:可以通过设置带宽上限避免占用过多网络资源,单位为 KB/s。 ```bash scp -l limit_in_kb_per_second source_file destination_user@host:path ``` - **自定义端口号**:某些情况下,默认端口可能被更改;此时可通过 `-P` 来指明新的端口编号。 ```bash scp -P port_number file_name remote_username@hostname:/target/directory/ ``` #### 四、实际案例演示 以下是综合运用上述知识点的具体例子——将名为 `assert.c` 的 C 源码文件由树莓派迁移到虚拟机环境下的实践过程: ```bash scp -r pi@192.168.141.103:/home/lm/assert.c . ``` 此命令实现了从地址为 `192.168.141.103` 的树莓派设备读取位于其内部存储位置 `/home/lm/` 中的 `assert.c` 文档,并保存于当前终端所在的文件夹之中。 --- ### 注意事项 - 确保两台设备间能够正常通讯,即确认双方处于同一局域网或者已妥善设置了 NAT 配置等外部条件。 - 如果遇到权限不足等问题,请尝试附加 sudo 特权再试一次,不过这往往意味着存在其他潜在风险应谨慎对待。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值