文章

为 apache 运行用户创建 ssh key

解决方案

方案1, 自动

sudo -u apache ssh-keygen -t rsa

方案2, 手动

你必须复制root用户生成的keyapache用户的.ssh文件夹下, 软链接是不行的, 必须复制, 复制, 复制, 重要的事情说三遍

假设apachehomedir/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_rsaid_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.