为 apache 运行用户创建 ssh key
解决方案
方案1, 自动
sudo -u apache ssh-keygen -t rsa
方案2, 手动
你必须复制root
用户生成的key
到apache
用户的.ssh
文件夹下, 软链接是不行的, 必须复制, 复制, 复制, 重要的事情说三遍
假设apache
的homedir
是/var/www
(检查/etc/passwd
), root
用户生成的私钥(key
)是id_rsa-git
1
2
mkdir -p /var/www/.ssh/
cp /root/.ssh/id_rsa-git /var/www/.ssh/id_rsa
无需复制公钥(public key
)
注意
- 默认使用的私钥名称是
id_rsa
或id_dsa
, 所以你复制过来的私钥名称得是这个 apache
现在默认的运行用户为daemon
, 他的homedir
是/usr/sbin
, 你可能得改成其他目录才能生效, 可以改成home/daemon
1
2
3
chown -R apache:apache /var/www/.ssh
chmod 0700 /var/www/.ssh
chmod 0600 /var/www/.ssh/id_rsa
需求说明
apache 在执行git
相关命令时报Could not create directory '/usr/sbin/.ssh'
参考链接
- http://stackoverflow.com/questions/7306990/generating-ssh-keys-for-apache-user
本文由作者按照 CC BY 4.0 进行授权
Comments powered by Disqus.