我正在尝试在 debian 7 中使用此代码(在 root 帐户下)。
#!/bin/bash
cat > /root/.ssh/github.id_rsa << EOF
-----BEGIN RSA PRIVATE KEY-----
XYZ...
-----END RSA PRIVATE KEY-----
EOF
chmod 600 /root/.ssh/github.id_rsa
当我之后导航到此文件夹时,它告诉我它不存在。我检查了一遍又一遍,但还是不知道我做错了什么。
编辑:当我手动运行命令时,它似乎有效!但我试图将其作为 shell 脚本的一部分运行。
答案1
当您第一次运行该命令时,该.ssh
文件夹可能不存在。最安全的做法是在cat
检查/创建文件夹之前添加一个命令:
#!/bin/bash
mkdir -p /root/.ssh
chmod 700 /root/.ssh
cat > /root/.ssh/github.id_rsa << EOF
<some content>
EOF
chmod 600 /root/.ssh/github.id_rsa