利用ssh传输文件


在linux下一般用scp这个命令来通过ssh传输文件。

一.ubuntu开启SSH服务远程登录

  1. 查看当前的ubuntu是否安装了ssh-server服务。默认只安装ssh-client服务。
dpkg -l | grep ssh

在这里插入图片描述

2. 安装ssh-server服务

sudo apt-get install openssh-server

在这里插入图片描述
再次查看安装的服务:
dpkg -l | grep ssh
在这里插入图片描述
然后确认ssh-server是否启动了:

ps -e | grep ssh

在这里插入图片描述
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:sudo /etc/init.d/ssh start或sudo service ssh start
配置相关:
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。(或把配置文件中的”PermitRootLogin without-password”加一个”#”号,把它注释掉,再增加一句”PermitRootLogin yes”)
然后重启SSH服务:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start

3. 登陆SSH(Linux)

ssh username@192.168.1.103
其中,username为192.168.1.103机器上的用户,需要输入密码。
断开连接:exit

参考 ubuntu开启SSH服务远程登录

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(本地目录)

2、上传本地文件到服务器

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/目录中

3、从服务器下载整个目录

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

4、上传目录到服务器

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

有的需要SSH密匙,使用时请注意.

reference

利用ssh传输文件

### 如何通过 VS Code 使用 SSH 远程连接到服务器并上传文件 为了实现通过 Visual Studio Code (VS Code) 使用 SSH 远程连接到服务器并上传文件,可以按照以下方法操作: #### 配置 SSH 客户端 在建立远程连接之前,需确认本地计算机已配置好 SSH 密钥对。如果尚未生成密钥对,则可以通过运行命令 `ssh-keygen -t rsa` 来创建公私钥[^3]。 一旦生成了密钥对,需要将公钥复制到目标服务器上。这通常可通过手动编辑 `.ssh/authorized_keys` 文件完成,或者利用更简便的方式执行如下命令: ```bash cat .ssh/id_rsa.pub | ssh bob@comp-b 'cat >> .ssh/authorized_keys' ``` 此命令会自动将当前用户的公钥追加至指定账户下的授权键列表中[^5]。 对于某些情况可能还需要单独向`.ssh/authorized_keys`添加新的公共字符串形式的密钥,可采用下面的方法来处理: ```bash echo public_key_string >> ~/.ssh/authorized_keys ``` 这里替换掉`public_key_string`为实际获取得到的具体内容即可[^4]。 #### 设置 VS Code 的 Remote Development 插件 安装 Microsoft 提供的 **Remote Development** 扩展包之后,在左侧活动栏找到“远程资源管理器”,点击其中的选项卡切换到“SSH Targets”。在此界面里输入想要访问的目标机器地址格式应类似于用户名加上冒号再接IP地址的形式如`bob@192.168.x.x`[^1]。 当首次尝试链接某个新设备时,可能会弹窗提示关于主机指纹验证的信息框;此时应当仔细核对该对话框内的哈希值是否匹配预期结果——即先前从服务端提取出来的那个独一无二的身份标识符。只有两者完全一致的情况下才继续前进流程,并最终敲定同意按钮进入下一步骤。 #### 利用 SFTP 或其他工具传输文档资料 虽然直接经由上述插件能够方便快捷地浏览远端项目结构以及修改源码等内容物项,但如果涉及到较大规模的数据集迁移作业则推荐借助专门设计用于此类场景的应用软件比如 WinSCP、FileZilla 等来进行批量搬运工作更为高效稳妥些。当然也可以启用内置终端窗口下达相应指令达成目的样例代码片段展示如下所示: ```bash scp local_file_path username@remote_host:/path/to/upload/ ``` 以上就是整个过程概述说明啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值