ฉันเห็น 2 ตัวเลือกที่นี่โดยใช้ ssh-ตัวแทน
:
ชื่อ: ปรับใช้
บน: [กด]
งาน:
ปรับใช้:
ทำงานบน: ubuntu-20.04
สภาพแวดล้อม:
USER_HOST: ec2-user@ec2...
HOST_KEY: ec2... ecdsa-sha2-nistp256 AAAA...mXU=
ขั้นตอน:
- ชื่อ: ตรวจสอบรหัส
ใช้: การดำเนินการ/checkout@v2
- ชื่อ: เรียกใช้ ssh-agent
ใช้: webfactory/[email protected]
กับ:
ssh-คีย์ส่วนตัว: ${{ secrets.SSH_PRIVATE_KEY }}
- ชื่อ: เพิ่มรหัสโฮสต์ใน ~/.ssh/known_hosts
วิ่ง: |
echo "$HOST_KEY" >> ~/.ssh/known_hosts
- ชื่อ: ปรับใช้
วิ่ง: |
ตั้ง -x
สาขา=${GITHUB_REF#refs/heads/}
cat .github/deploy.sh | ssh -T "$USER_HOST" sh -s "$สาขา"
และไม่มี ssh-ตัวแทน
:
ชื่อ: ปรับใช้
บน: [กด]
งาน:
ปรับใช้:
ทำงานบน: ubuntu-20.04
สภาพแวดล้อม:
USER_HOST: ec2-user@ec2...
HOST_KEY: ec2... ecdsa-sha2-nistp256 AAAA...mXU=
ขั้นตอน:
- ชื่อ: ตรวจสอบรหัส
ใช้: การดำเนินการ/checkout@v2
- ชื่อ: ตั้งค่า ssh
วิ่ง: |
ตั้ง -x
mkdir ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 0600 ~/.ssh/id_rsa
echo "$HOST_KEY" >> ~/.ssh/known_hosts
สภาพแวดล้อม:
SSH_PRIVATE_KEY: ${{ ความลับ.SSH_PRIVATE_KEY }}
- ชื่อ: ปรับใช้
วิ่ง: |
ตั้ง -x
สาขา=${GITHUB_REF#refs/heads/}
cat .github/deploy.sh | ssh -Ti ~/.ssh/id_rsa "$USER_HOST" sh -s "$ สาขา"
ทั้งสองคนปลอดภัยหรือไม่? หรือควรจะเลือกอย่างใดอย่างหนึ่ง? โรงงานเว็บ / ตัวแทน ssh
ไม่เก็บกุญแจ บนดิสก์.