如何加密curl命令以保护服务器密码?



我需要保护服务器登录名和密码。

我有一个Bash脚本,我必须在第三方服务上运行它。该脚本包含一个curl命令,带有登录名和密码,用于将数据传输到我的服务器。

curl -T filedata.txt ftp://login:password@ftp.server.ru/

我如何安全地在开源中存储我的密码?curl可以在Bash中加密吗?

在UBUNTU终端中是否有其他方法将文件传输到服务器以供工作?

使用SSH密钥是不使用密码访问Linux服务器的好方法,

需求1.您的目标服务器应该启用了ssh您应该已经生成了公共和私有ssh密钥(只需使用命令ssh-keygen -t rsa)2. 您应该在服务器上有一个用户帐户和密码。即使是root帐号也可以。3.您应该知道服务器的IP地址

方法1:将密钥复制到服务器

  1. 将SSH密钥复制到远程服务器。ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER使用用户名和密码登录

方法二:服务器没有用户名密码认证,只允许SSH公钥认证

您可以要求最终用户提供她/他的公钥。现在你可以做的是创建.ssh/authorized_keys目录,然后复制公钥到这里。

  1. 获取公钥

通过输入以下命令要求最终用户提供公钥:

cat ~/.ssh/id_rsa.pub它将显示一个以ssh-rsa:

开头的长随机字符串。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

你可以通过电子邮件或短信工具得到这个文本。正常情况下,这应该不是问题。

  1. 在用户的主目录创建ssh目录(以系统管理员的身份)

请记住,您必须在最终用户的主目录中创建这些新目录和文件,而不是在您自己的目录(root/sysadmin)中。

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys现在用文本编辑器打开这个/home/user_name/.ssh/authorized_keys文件,并在这里添加用户的公钥:

vim /home/user_name/.ssh/authorized_keys保存并关闭该文件。快好了。

  1. 为文件
  2. 设置适当的权限

在ssh文件上有适当的文件权限是非常重要的,否则你会看到像permission denied (publickey)这样的错误。

首先,确保设置正确的文件权限:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys您使用root或您自己的管理帐户为其他用户创建了这些文件。您需要将所有权更改为用户:

chown -R username:username /home/username/.ssh

最新更新