![将文件上传到服务器应用程序目录的便捷方法?](https://linux22.com/image/55233/%E5%B0%86%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9B%AE%E5%BD%95%E7%9A%84%E4%BE%BF%E6%8D%B7%E6%96%B9%E6%B3%95%EF%BC%9F.png)
我经常需要将某种文件上传到服务器,以将某些应用程序目录放在某处。由于我的用户帐户当然没有特权,所以我通常必须这样做:
scp file.txt myserver:
ssh myserver
$ sudo cp file.txt /etc/app/config
$ sudo chown app:app /etc/app/config/file.txt
四个步骤。
我没有上过系统管理学校,所以我只是想知道我是否错过了一些东西。有没有更好的办法?其他人做什么?
- 为这种任务编写本地脚本?
- 将您的用户帐户添加到与每个应用程序相同的组,并希望组权限足够?
- 以 root 身份登录?
- 使应用程序帐户可登录?
答案1
使用正确的密钥设置,假设您可以在我的服务器的应用程序主目录中设置这些密钥。
scp file.txt app@myserver:/etc/app/config/file.txt
步骤1)
在本地主机中,检查 $HOME/.ssh 中的任何文件名id_rsa.pub
,如果找到,则转到步骤 3。
第2步)
如果没有找到,则在本地主机(起始主机)
cd $HOME
mkdir .ssh
chmod go-rwx .ssh
cd .ssh
ssh-keygen
接受所有默认值,不要在密钥上设置密码。
步骤3)
使用应用程序帐户(或sudo)登录myserver。
如果需要,重复 .ssh 创建。
如果后者不存在,则复制id_rsa.pub
到。 如果存在,只需连接到authorized_keys
id_rsa.pub
authorized_keys
这应该可以解决问题