如何加密 curl 命令以保护服务器密码?
How to encrypt curl command to secure server password?
我需要保护服务器登录名和密码。
我有一个 Bash 脚本,要工作,我必须 运行 它在第三方服务上。
该脚本包含一个带有登录名和密码的 curl 命令,用于将数据传输到我的服务器。
curl -T filedata.txt ftp://login:password@ftp.server.ru/
如何在开源中安全地存储我的密码? Bash可以加密curl吗?
是否有其他方法可以将文件传输到服务器以在 UBUNTU 终端中工作?
使用 SSH 密钥是一种无需密码即可访问 Linux 服务器的好方法,
要求
1.Your 目标服务器应该启用 ssh
您应该已经生成 public 和 ssh 私钥(只需使用命令 ssh-keygen -t rsa
)
2. 你应该在服务器上有一个用户帐号和密码。即使是 root 帐户也可以。
3. 你应该知道服务器的IP地址
方法一:复制密钥到服务器
- 将 SSH 密钥复制到远程服务器。
ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER
使用用户名和密码登录
方法二:如果服务器没有用户名密码认证,只允许SSH public密钥认证。
您可以要求最终用户提供 her/his public 密钥。现在你可以做的是创建 .ssh/authorized_keys
目录,然后将 public 键复制到这里。
- 获取public密钥
通过键入以下命令要求最终用户提供 public 密钥:
cat ~/.ssh/id_rsa.pub
它将显示一个以 ssh-rsa:
开头的长随机字符串
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
您可以通过电子邮件或消息传递工具获取此文本。正常情况应该没有问题。
- 在用户的主目录中创建 ssh 目录(作为系统管理员)
请记住,您必须在最终用户的主目录中创建这些新目录和文件,而不是您自己 (root/sysadmin)。
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys
现在用文本编辑器打开这个 /home/user_name/.ssh/authorized_keys
文件并在此处添加用户的 public 密钥:
vim /home/user_name/.ssh/authorized_keys
保存并关闭文件。快准备好了。
- 为文件设置适当的权限
对 ssh 文件拥有适当的文件权限非常重要,否则您会看到诸如权限被拒绝(public密钥)之类的错误。
首先,确保设置正确的文件权限:
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys
您使用 root 或您自己的管理员帐户为其他用户创建了这些文件。您需要将所有权更改为用户:
chown -R username:username /home/username/.ssh
我需要保护服务器登录名和密码。
我有一个 Bash 脚本,要工作,我必须 运行 它在第三方服务上。 该脚本包含一个带有登录名和密码的 curl 命令,用于将数据传输到我的服务器。
curl -T filedata.txt ftp://login:password@ftp.server.ru/
如何在开源中安全地存储我的密码? Bash可以加密curl吗?
是否有其他方法可以将文件传输到服务器以在 UBUNTU 终端中工作?
使用 SSH 密钥是一种无需密码即可访问 Linux 服务器的好方法,
要求
1.Your 目标服务器应该启用 ssh
您应该已经生成 public 和 ssh 私钥(只需使用命令 ssh-keygen -t rsa
)
2. 你应该在服务器上有一个用户帐号和密码。即使是 root 帐户也可以。
3. 你应该知道服务器的IP地址
方法一:复制密钥到服务器
- 将 SSH 密钥复制到远程服务器。
ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER
使用用户名和密码登录
方法二:如果服务器没有用户名密码认证,只允许SSH public密钥认证。
您可以要求最终用户提供 her/his public 密钥。现在你可以做的是创建 .ssh/authorized_keys
目录,然后将 public 键复制到这里。
- 获取public密钥
通过键入以下命令要求最终用户提供 public 密钥:
cat ~/.ssh/id_rsa.pub
它将显示一个以 ssh-rsa:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
您可以通过电子邮件或消息传递工具获取此文本。正常情况应该没有问题。
- 在用户的主目录中创建 ssh 目录(作为系统管理员)
请记住,您必须在最终用户的主目录中创建这些新目录和文件,而不是您自己 (root/sysadmin)。
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys
现在用文本编辑器打开这个 /home/user_name/.ssh/authorized_keys
文件并在此处添加用户的 public 密钥:
vim /home/user_name/.ssh/authorized_keys
保存并关闭文件。快准备好了。
- 为文件设置适当的权限
对 ssh 文件拥有适当的文件权限非常重要,否则您会看到诸如权限被拒绝(public密钥)之类的错误。
首先,确保设置正确的文件权限:
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys
您使用 root 或您自己的管理员帐户为其他用户创建了这些文件。您需要将所有权更改为用户:
chown -R username:username /home/username/.ssh