Jenkins 设置阿里云免密登录
root 用户默认是没有 .ssh 目录的,只有当你第一次使用 SSH key 时才会创建。
所以需要给 root 用户配置 SSH Key
✅ 一步步给 root 创建 .ssh 目录
先切到 root(如果你已经是 root 可跳过):
bash
whoami如果不是 root:
bash
sudo -i✅ 1. 创建 .ssh 目录
bash
mkdir -p /root/.ssh
chmod 700 /root/.ssh检查:
bash
ls -ld /root/.ssh应该是:
drwx------ root root✅ 2. 生成 SSH key(给 Jenkins / scp 用)
在 root 下执行:
bash
ssh-keygen -t rsa -b 4096一路回车即可(不要设置密码):
生成:
/root/.ssh/id_rsa (私钥)
/root/.ssh/id_rsa.pub (公钥)✅ 3. 把公钥拷贝到远程服务器(阿里云)
执行:
bash
ssh-copy-id root@101.xxx.xxx.xxx第一次会让你输入一次密码,之后就免密了。
如果没有 ssh-copy-id,可以手动:
bash
cat /root/.ssh/id_rsa.pub复制内容,粘贴到远程服务器:
bash
nano /root/.ssh/authorized_keys✅ 4. 设置权限(非常重要)
远程服务器上:
bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys否则会报错:
Permission denied (publickey)🧪 测试免密登录
在 Jenkins 机器上测试:
bash
ssh root@101.xxx.xxx.xxx如果直接登录成功(不输密码) ✅ 说明 scp 也能直接用。


