我使用SSH连接到我的Ubuntu 实例。使用 SSH 我可以管理实例上的文件和文件夹,但是如何将文件和文件夹从本地机器上传到实例?
是否可以在不使用 SFTP 客户端的情况下直接从 SSH 会话中进行操作?
我使用SSH连接到我的Ubuntu 实例。使用 SSH 我可以管理实例上的文件和文件夹,但是如何将文件和文件夹从本地机器上传到实例?
是否可以在不使用 SFTP 客户端的情况下直接从 SSH 会话中进行操作?
您可以尝试kitten实用程序,它是 boto3 的包装器。您可以轻松地上传/下载文件并在 EC2 服务器上或同时在多个服务器上运行命令。
kitten put -i ~/.ssh/key.pem cat.jpg /tmp [SERVER NAME][SERVER IP]
服务器名称是例如 ubuntu 或 ec2-user 等。
这会将 cat.jpg 文件上传到服务器的 /tmp 目录
只是为 scp 命令添加更多细节(包括在 OSx 和大多数 linux/unix 中):
scp -i myssh.pem local_file username@200.200.200.200:/home/username
显然 - 将 pem 文件替换为用于 ssh 访问的文件。显然将“用户名”和“200.200.200..”替换为您的设置的有效值。
如前所述,我使用了 WinSCP,它以“ec2-user”身份登录 - 然后确保通过 SSH 调整该用户的权限。例子:
chown -R ec2-user /path/to/files
(首先以 root 用户身份进行身份验证。)
无论您需要通过 WinSCP 编辑什么文件夹或文件,都应允许对它们授予权限(否则在尝试在 WinSCP 中上传/编辑文件时您将收到权限被拒绝错误)。
您不能使用 ssh 复制文件。你可以使用 scp/sftp。
scp 如果你在 linux 上,winscp如果你在 windows 上
你可以使用这个:
scp -i yourkeypair.pem source destination
这很好用
scp -r -i myssh.pem /local/directory remote_username@10.10.0.2:/remote/directory
-r 递归
最简单的方法是从浏览器安装 webmin 并使用文件管理器(java 插件)。
//进入主文件夹
cd ~
//下载最新版本
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.660-1.noarch.rpm
//安装
sudo rpm -U webmin-1.660-1.noarch.rpm
//修改root用户密码passwd
最后,在安全组中打开 10000 端口
然后,登录
https://server_name:10000
使用用户:root 密码:what_you_set_before
您还可以安装和设置一个 FTP 服务器,这将允许您设置用户和目录供他们上传。话虽如此,我赞成上述方法,因为 scp/sftp 是理想的方法。