我经常需要将某种文件上传到服务器,以将某些应用程序目录放在某处。由于我的用户帐户当然没有特权,所以我通常必须这样做:
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
这应该可以解决问题