ข้อผิดพลาด“ Auth Failed” กับ EGit และ GitHub


98

ฉันได้ติดตั้งปลั๊กอิน EGit ที่ Eclipse Helios และฉันกำลังพยายามใช้กับบัญชี GitHub ของฉัน แต่เมื่อฉันพยายามกำหนดค่าฉันได้รับข้อผิดพลาด "Auth Failed"

ฉันใช้ googling แต่โชคไม่ดี ... ดูเหมือนว่าจะมีปัญหากับข้อความรหัสผ่านของฉัน แต่ AFAIK EGit กำลังมองหาสถานที่ที่ถูกต้อง ( /home/user/.ssh/id_rsa) และฉันไม่มีปัญหาในการเชื่อมต่อโดยsshหรือgitไคลเอนต์คอนโซล

บางบล็อกบอกว่าเป็นปัญหากับ URI และตัวแยกวิเคราะห์ของ Egit แต่ฉันยังไม่พบวิธีแก้ไข


คำตอบ:


141

คำตอบของฉันอาจจะล้าสมัย แต่หวังว่าจะเป็นประโยชน์สำหรับใครบางคน

  1. ใน Eclipse ของคุณไปที่Window> Preferences> General> Network Connections> SSH2 (หรือเพียงพิมพ์ "SSH2" ในกล่องกรองหน้าต่างการตั้งค่า)

  2. ในแท็บ"การจัดการคีย์"กด "สร้างอาร์เอสที่สำคัญ ..."ปุ่ม คุณสามารถเลือกที่จะเพิ่มความคิดเห็น (โดยปกติคือที่อยู่อีเมล) และข้อความรหัสผ่านลงในคีย์ของคุณ ข้อความรหัสผ่านจะถูกใช้ระหว่างการตรวจสอบสิทธิ์บน GitHub

  3. คัดลอกคีย์สาธารณะที่คุณสร้างขึ้น (ในช่องใต้ปุ่ม "สร้างคีย์ RSA ... ") แล้วเพิ่มลงในบัญชี GitHub ของคุณ
  4. กดปุ่ม"บันทึกคีย์ส่วนตัว ... "เพื่อบันทึกคีย์ RSA ส่วนตัวของคุณลงในไฟล์ โดยคีย์เริ่มต้นจะถูกเก็บไว้ในโฮมไดเร็กทอรี SSH2 (ดูแท็บ "ทั่วไป")

แค่นั้นแหละ! ตอนนี้คุณควรจะสามารถพุชโค้ดของคุณไปที่ GitHub repo ได้แล้ว


1
คีย์ส่วนตัวของฉันไม่มีชื่อมาตรฐาน (id_rsa) จึงไม่ได้รับการยอมรับในลักษณะนี้ ฉันเพิ่มมันด้วยตนเองในหน้าต่างการตั้งค่าที่คุณชี้ไปและมันก็ใช้งานได้ดี
muriloq

18
ฉันสังเกตเห็นว่าหลังจากตั้งค่าคีย์ SSH ตามที่คุณอธิบายฉันไม่ควรเปลี่ยนชื่อผู้ใช้ / รหัสผ่านในช่องการตรวจสอบสิทธิ์ (ฉันกำลังใส่ข้อมูลรับรอง GitHub ของฉัน) ค่าเริ่มต้นในช่องนี้คือชื่อผู้ใช้: git และรหัสผ่านว่างเปล่า
harschware

1
สิ่งนี้ใช้ได้ผลกับฉันด้วยที่เก็บ BitBucket git ฉันต้องรีสตาร์ท Eclipse
artlung

8
ปล่อยให้ชื่อผู้ใช้เป็น git และรหัสผ่านว่างเปล่าในที่สุดก็ใช้ได้สำหรับฉัน
Mike R

4
นี่คือขั้นตอนการเพิ่มคีย์ RSA ที่สร้างขึ้นในบัญชี github ของคุณ 1) เข้าสู่ระบบบัญชี github ของคุณ 2) การตั้งค่า goto 3) ทางด้านซ้ายคุณจะพบคีย์ SSH ให้คลิกที่มัน 4) จากนั้นคลิกเพิ่มคีย์ SSH (วางคีย์ SSH ในขณะนี้ ที่คุณสร้าง)
rajeev

27

ฉันมีปัญหาเดียวกันทุกประการ แต่ฉันพบวิธีการรักษาจากรายงานข้อผิดพลาด Eclipse!

ต้องตั้งค่าตัวแปรสภาพแวดล้อมชื่อ GIT_SSH ด้วยพา ธ ไปยัง ssh ที่เรียกใช้งานได้ [1]

ตัวอย่างเช่นบน Ubuntu Linux (10.10 64 บิต):

> export GIT_SSH=/usr/bin/ssh
> eclipse

หลังจากนั้นพุชไปยังที่เก็บ GitHub จะทำงานอย่างที่ควรจะเป็น ฉันทดสอบสิ่งนี้กับ Eclipse Galileo และ Indigo

ปัญหานั้นน่ารำคาญมากและวิธีแก้ปัญหาก็ยังห่างไกลจากความดี สำหรับตอนนี้การทำให้โซลูชันถาวรสำหรับผู้ใช้ Ubuntu อย่างน้อยต้องทำให้ตัวแปร env เป็นแบบถาวร สามารถทำได้โดยเพิ่มคำสั่ง export ไปที่ ~ / .profile หรือ ~ / .bashrc [2] ตัวอย่างเช่น:

> cd ~
> echo "export GIT_SSH=/usr/bin/ssh" >> .profile

จากนั้นรีสตาร์ท Eclipse เพื่อให้มีผล

แหล่งที่มา:


ฉันประสบปัญหานี้มาตลอดสัปดาห์ - Eclipse ภายใต้ osx ที่เชื่อมต่อกับ GitHub หรือ Asssembla การแก้ไขของคุณใช้ได้ผลสำหรับฉัน ขอบคุณ.
ianmayo

ใน Windows openssh ใช้ไม่ได้สำหรับฉัน ฉันต้องใช้ plink ดูคำตอบของฉัน
Piotr Dobrogost

และมันเข้าใกล้การแก้ไขที่ออกมามากขึ้น ในตอนท้ายของรายงานข้อผิดพลาดมีคนแสดงวิธีดาวน์โหลดไฟล์ jsch jar ล่าสุดด้วยตนเองและติดตั้งด้วยตนเองเพื่อให้ใช้งานได้ ฉันจะไปกับโซลูชัน env var และรอให้ไฟล์ jar jsch นั้นเข้าสู่รีลีส eclipse จริง
crowmagnumb

แก้ไขปัญหาของฉัน ขอบคุณ.
Pedram

พระเจ้าช่วย. ปัญหาเช่นนี้ทำให้ฉันสงสัยว่าทำไม Android ถึงใช้ Eclipse ตั้งแต่แรก ขอบคุณมากสำหรับคำแนะนำของคุณ นั่นช่วยแก้ปัญหาของฉันได้และ EGit / Eclipse ไม่ได้รับประโยชน์อย่างเต็มที่กับ "Auth Fail"
Calyth

16

ฉันแก้ไขได้โดยเลือกhttpเป็นโปรโตคอลและให้ชื่อผู้ใช้และรหัสผ่าน GitHub ของฉัน


ใช่! ตรงกันข้ามกับสิ่งอื่นที่ฉันเคยอ่าน แต่มันได้ผล (Eclipse Indigo)
Owen B

http หรือ https เป็นวิธีที่ง่ายกว่า ssh
Junchen Liu

ใช่ แต่มีบางกรณีที่คุณต้องใช้ ssh เช่นต้องการการพิสูจน์ตัวตนสองปัจจัยใน BitBucket ขณะทำงานกับที่เก็บ คุณสามารถทำงานผ่าน ssh ได้เฉพาะเมื่อคุณต้องการการรับรองความถูกต้องด้วยสองปัจจัย
Akshay Mahajan

10

หลังจากใช้เวลาหลายชั่วโมงในการค้นหาวิธีแก้ปัญหานี้ในที่สุดฉันก็ค้นพบทองคำโดยทำการเปลี่ยนแปลงที่กล่าวถึงในEclipse Forumฟอรั่ม

ขั้นตอน:

ข้อกำหนดเบื้องต้น: mysysgit ถูกติดตั้งด้วยการกำหนดค่าเริ่มต้น

1. สร้างไฟล์ C: /Users/Username/.ssh/config (แทนที่ "ชื่อผู้ใช้" ด้วยชื่อผู้ใช้ Windows 7 ของคุณ (เช่น C: /Users/John/.ssh/config)) และใส่สิ่งนี้ไว้:

Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

2. ลองตั้งค่าที่เก็บระยะไกลตอนนี้ใน Eclipse

ไชโย มันควรจะทำงานได้อย่างสมบูรณ์


8

คุณต้องติดตั้ง msysgit หลังจากติดตั้งแล้วคุณต้องเปิด Git Bash และป้อนคำสั่งเหล่านี้:

$ git config --global user.name "Gennadiy Zlobin" (your name)
$ git config --global user.email gennad.zlobin@gmail.com (your email)
$ ssh-keygen -C "gennad.zlobin@gmail.com" -t rsa (your email)

ตอนนี้คีย์ที่คุณสร้างขึ้นอยู่ในC:\Users\username\.ssh(ใน Windows 7)
จากนั้นคุณโหลดเนื้อหาของคีย์สาธารณะของคุณไปยังโปรเจ็กต์ของคุณบน Github
In Eclipse เปิดWindow->Preferences->General->Network->SSH2และตั้งค่า~/.sshเป็นSSH Home

หลังจากนั้นไปที่Key Management tabและโหลดคีย์ที่มีอยู่ - ตั้งค่าคีย์ส่วนตัวของคุณที่นี่~/.sshตั้งค่าที่นี่คีย์ส่วนตัวของคุณ

หลังจากนั้นคุณสามารถพุชโปรเจ็กต์ของคุณไปที่ Github (แต่ฉันตั้งค่าโปรโตคอล ssh ไม่ใช่ git + ssh)


ขอบคุณมาก แต่จริงๆแล้วฉันใช้งานภายใต้ Arch Linux
tehsis

5

ฉันแก้ไขปัญหาเดียวกันกับการเพิ่มคีย์เป็น ssh;

ssh-add ~/.ssh/id_rsa 

จากนั้นป้อนข้อความรหัสผ่านและต้องรีสตาร์ท


4

สำหรับผู้ใช้ * nix ที่ใช้ SSH:

ตรวจสอบให้แน่ใจว่าชื่อผู้ใช้สำหรับบัญชีของคุณบนเครื่องในพื้นที่ของคุณไม่แตกต่างจากชื่อผู้ใช้สำหรับบัญชีบนเซิร์ฟเวอร์ ดูเหมือนว่า eGit จะไม่สามารถจัดการกับสิ่งนี้ได้ ตัวอย่างเช่นหากชื่อผู้ใช้ของคุณบนเครื่องในพื้นที่ของคุณคือ 'john' และบัญชีที่คุณใช้บนเซิร์ฟเวอร์มีชื่อว่า 'git' เช่นเดียวกับการเชื่อมต่อล้มเหลว (สำหรับฉันเลย) วิธีแก้ปัญหาเดียวที่ฉันพบคือตรวจสอบให้แน่ใจว่าคุณมีชื่อผู้ใช้ที่เหมือนกันทั้งในเครื่องและเซิร์ฟเวอร์


1
ความคิดนี้ยังคงเป็นเช่นนั้นหรือไม่? เย็นนี้ฉันเอาหัวโขกกำแพง คีย์ส่วนตัวของฉันได้รับการปกป้องด้วยข้อความรหัสผ่านซึ่ง Eclipse / eGit ไม่เคยถามหา เมื่อฉันพยายามผลักไปที่รีโมต Eclipse ก็พ่นข้อผิดพลาด "org.eclipse.jgit.transport.CredentialItem $ StringType Passphrase สำหรับ. ssh id_rsa"
Vilsepi

3

ที่ลิงค์ด้านล่างฉันโพสต์สิ่งที่ใช้ได้ผลสำหรับฉัน ...

http://www.eclipse.org/forums/index.php?t=msg&goto=648905&S=9bcfa96ab726d744d41a19c7fb02d723#msg_648905


ในกรณีของฉันจำเป็นต้องรีสตาร์ท Eclipse หลังจากทำการเปลี่ยนแปลง!
Martin Pecka

2

fourpenneth ของฉัน: คีย์ SSH ของฉันถูกตั้งค่าใน Cygwin ที่ C: \ cygwin \ home \ <user> .ssh ดังนั้นฉันจึงชี้ SSH ไปที่โฟลเดอร์นี้แทนค่าเริ่มต้น (Win7) C: \ Users \ <user> \ ssh ตามคำแนะนำเหล่านี้: http://wiki.eclipse.org/EGit/User_Guide/Remote#Eclipse_SSH_Configuration

และใช้โปรโตคอล ssh และใช้งานได้ดี การพยายามใช้โปรโตคอล git ยังคงให้ "ผู้ใช้ไม่รองรับโปรโตคอล git"


2

สำหรับคุณที่เช่นฉันได้ตั้งค่า ssh-keys แล้ว แต่ยังคงได้รับข้อผิดพลาด:

ตรวจสอบว่าคุณได้ตั้งค่ารีโมตแบบกดแล้ว มันใช้ได้ผลสำหรับฉันเมื่อฉันได้รับการอ้างอิงทั้งไม่สามารถรับพื้นที่เก็บข้อมูลระยะไกลปัญหา ("... ข้อความรหัสผ่านสำหรับ ... " และ "การตรวจสอบสิทธิ์ล้มเหลว" ในกล่องโต้ตอบ "พุช ... ")

โดยมีเงื่อนไขว่าคุณ:

  1. ตั้งค่าคีย์ SSH ของคุณด้วย Github (Window> Preferences> General> Network Connections> SSH2)

  2. ตั้งค่าที่เก็บในเครื่องของคุณ (คุณสามารถทำตามคำแนะนำนี้ได้ )

  3. สร้างที่เก็บ Github ( คำแนะนำเดียวกัน )

... นี่คือวิธีที่คุณทำ:

  • ไปที่มุมมอง Git Repositories (หน้าต่าง> แสดงมุมมอง> อื่น ๆ > ที่เก็บ Git)
  • ขยายพื้นที่เก็บข้อมูลของคุณและคลิกขวาที่รีโมท -> "สร้างระยะไกล"
  • "ชื่อระยะไกล": ที่มา "กำหนดค่าการพุช": ตรวจสอบ -> คลิก "OK"
  • คลิกที่"เปลี่ยน ..."ปุ่ม
  • วาง git URI ของคุณแล้วเลือก protocol ssh -> คลิก "Finish"
  • ตอนนี้คลิก "บันทึกและพุช"และตอนนี้คุณควรได้รับข้อความแจ้งรหัสผ่าน -> ป้อนข้อความรหัสผ่านคีย์สาธารณะที่นี่ (โดยที่คุณไม่ได้ (และคุณควร) ตั้งค่าข้อความรหัสผ่านไปยังคีย์สาธารณะของคุณ) -> คลิก "ตกลง"
  • ตอนนี้คุณควรได้รับหน้าต่างยืนยันว่า " Pushed to YourRepository - origin" -> คลิก "OK"
  • ดันไปที่ต้นน้ำแต่คราวนี้ใช้ "ที่เก็บข้อมูลระยะไกลที่กำหนดค่าไว้"เป็นที่เก็บ Git ปลายทางของคุณ
  • ไปรับกาแฟที่ได้รับมาด้วยตัวคุณเอง!

1

ฉันอัปเดตปลั๊กอินด้วยการสร้างทุกคืน: http://www.eclipse.org/egit/download/

ด้วยการอัปเดตมันได้ผลสำหรับฉัน (Eclipse Helios, Mac OS X)


มันยังใช้ไม่ได้สำหรับฉัน :( ได้รับการอัปเกรดสองครั้งตั้งแต่ฉันโพสต์สิ่งนี้อาจเป็นข้อผิดพลาดภายใต้ GNU / Linux
tehsis

1

คุณได้พยายามใช้โปรโตคอล ssh แทน git + ssh หรือไม่? ฉันมีปัญหาเดียวกันและแก้ไขได้แม้ว่าเอกสารอย่างเป็นทางการจะบอกให้ใช้ git + ssh


1

ใน Windows การตั้งค่าGIT_SSHเป็น openssh ที่มาพร้อมกับ git msys ไม่ทำงาน (Eclipse หยุดทำงานระหว่างการคอมมิต) การตั้งค่าเป็น TortoisePlink ช่วยแก้ปัญหาได้ (ฉันเดาว่า plink ดั้งเดิมก็ใช้ได้เช่นกัน) โบนัสเพิ่มเติมตอนนี้ Eclipse ใช้คีย์ที่เก็บไว้ในเพจ


1

ฉันแก้ไขได้โดยเลือกhttpsเป็นโปรโตคอลจากนั้นเพิ่มชื่อผู้ใช้และรหัสผ่าน github ของฉัน


1

ในมุมมอง GIT ของคุณที่คุณมีที่เก็บของคุณคุณจะเห็นโครงสร้างเช่น:

  • สาขา
  • แท็ก
  • การอ้างอิง
  • รีโมท
  • ฯลฯ ...

คลิกที่รีโมทคลิกขวาที่ url ของที่เก็บที่นั่นแล้วเลือก 'Change Credentials'



0

ฉันมีปัญหาเดียวกันซึ่งดูเหมือนว่าจะเป็นปัญหาการกำหนดค่า แอป github mac osx ได้สร้างคีย์ส่วนตัว ssh ชื่อ github_rsa

ใน Eclipse ของคุณไปที่ Window > Preferences > Network Connections > SSH2

ในแท็บทั่วไปคุณจะเห็นหน้าแรก SSH2 /Users/<you username>/.sshคุณอาจเห็น id_dsa, id_rsa กำหนดเป็นคีย์ส่วนตัว

คลิก 'เพิ่มคีย์ส่วนตัว' และเลือก github_rsa ที่อยู่ /Users/<you username>/.ssh


0

หากคุณมีไฟล์ PEM : ใน Eclipse ให้ไปที่Window> Preferences> Network Connections> SSH2จากนั้นเพิ่มพา ธ ไปยังไฟล์ PEM ของคุณเป็น "คีย์ส่วนตัว" ซึ่งจะช่วยแก้ปัญหาได้


0

ฉันต้องการเปิดเผยต่อสาธารณะเมื่อฉันแก้ไขโค้ดของ Google ด้วยและได้รับข้อผิดพลาดเดียวกัน เริ่มต้นด้วยสิ่งนี้วิดีโอแต่ที่บันทึกและเผยแพร่มีข้อผิดพลาด ฉันเห็นว่ามีคำถามมากมายเกี่ยวกับเรื่องนี้ บางคนเป็นผู้ใช้ Windows ซึ่งเป็นผู้โชคดีที่สุดเพราะโดยปกติจะไม่มีปัญหาเกี่ยวกับสิทธิ์และบางคนเป็นผู้ใช้ Linux

ฉันมี Mac สำหรับใช้ในการพัฒนาอุปกรณ์เคลื่อนที่และมักจะพบปัญหานี้ ต้นตอของปัญหานี้คือโซลูชัน "แพลตฟอร์มอิสระ" ซึ่งดูแล Mac ไม่เพียงพอและไม่มีการเข้าถึงพวงกุญแจที่เก็บใบรับรองไฟล์. pem และอื่น ๆ

สิ่งที่ฉันต้องการคืออย่าทำการตั้งค่าสภาพแวดล้อมหรือบรรทัดคำสั่งเพียงแค่คลิกตาม GUI ธรรมดา ๆ เหมือนผู้ใช้ทั่วไป

ทำครึ่งส่วนด้วยปลั๊กอิน Eclipse Git ส่วนที่สอง (กดไปที่ Github) เสร็จสิ้นด้วย Mac Github

ดีและง่าย :)

ทั้งหมดนี้สามารถทำได้ด้วย appp ดั้งเดิมนั้นถ้าฉันจะเริ่มเรียนรู้ฉันแค่ต้องการฟังก์ชั่นพุชจากเขา

หวังว่ามันจะช่วยผู้ใช้ mac สักครั้ง


0

ฉันค้นพบว่าถ้าฉันตั้งค่าการพิสูจน์ตัวตนแบบสองขั้นตอนใน github Eclipse จะไม่สามารถเชื่อมต่อกับ Github ได้ - ซึ่งสมเหตุสมผลเพราะการพิสูจน์ตัวตนแบบสองขั้นตอนใน github ต้องการให้คุณป้อนหมายเลขจาก SMS (และ Eclipse จะไม่ ' ไม่มีข้อมูลนี้)

หากนี่เป็นสถานการณ์ของคุณคุณอาจลองยกเลิกการเปิดใช้งานการรับรองความถูกต้องสองขั้นตอนใน github และดูว่าช่วยได้หรือไม่


0

สำหรับคีย์ ssh ที่มีอยู่ฉันคิดว่าเป็นบั๊กใน Eclipse Juno 3.8

ฉันทำอะไรไป:

1) โหลดคีย์ที่มีอยู่โดยไปที่: หน้าต่าง> ค่ากำหนด> "ค้นหา ssh"> แท็บการจัดการคีย์> โหลดคีย์ที่มีอยู่> เลือกคีย์ส่วนตัวที่คุณมีอยู่แล้ว

2) บันทึกว่ากุญแจสำคัญโดยคลิกที่ปุ่มบันทึกคีย์ส่วนตัว มาตั้งชื่อว่าid_dsa_github

3) ตรวจสอบว่าการผลักและดึงทำงานหรือไม่ มันควรจะเป็น.

4) ในแท็บทั่วไปลบรหัสส่วนตัวid_dsa_githubและเพิ่มคีย์ส่วนตัวก่อนหน้าของคุณโดยคลิกที่ปุ่มเพิ่มคีย์ส่วนตัว

ตอนนี้คุณพร้อมที่จะไป ก็สละเวลาอย่างน้อยหนึ่งที่จะทำทุกสิ่งจาก EGit เพื่อลงทะเบียนฉันเดา


0

ฉันพบปัญหาเดียวกัน

ฉันคิดว่ามันเป็นสิ่งที่เกี่ยวข้องกับข้อมูลรับรองและการตรวจสอบสิทธิ์ของฉัน

ในที่สุดฉันก็รู้ว่ามันเป็น URI ที่ฉันกำหนดค่าไม่ใช่ตัวแปร HTTP

ฉันพยายามส่งไปที่ SSH URI ของ Git ด้วยการกำหนดค่า HTTP

ตรวจสอบ URL ของคุณใน

Git มุมมอง> รีโมท> แหล่งกำเนิดสินค้า> กำหนดค่า Fetch> เปลี่ยน> ตรวจสอบว่า prtocal เป็น HTTPS และ URL คือ https รุ่น


0

ฉันสามารถใช้คอนโซลเพื่อดัน / ดึงที่เก็บได้ แต่ไม่มีในคราส ในกรณีของฉันดูเหมือนว่าคราสจะไม่สามารถอ่านคีย์ส่วนตัว SSH ของฉันได้คีย์ของฉันเริ่มต้นด้วย:

-----BEGIN OPENSSH PRIVATE KEY-----

และฉันสังเกตเห็นว่ากุญแจของเพื่อนร่วมงานเริ่มต้นด้วย:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

ฉันคิดว่าปัจจุบันคราสไม่สามารถใช้คีย์ชนิดใหม่นี้ได้ (OPENSSH PRIVATE KEY)

ฉันแก้ไขได้โดย: สร้างคีย์ ssh ของคุณใหม่โดยใช้คำสั่ง:

ssh-keygen -m PEM -t rsa -b 2048

วิธีนี้จะใช้วิธีการสร้างคีย์แบบเก่าดังนั้นมันจะเริ่มต้นด้วยส่วนหัว:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED

ดูข้อมูลเพิ่มเติมเกี่ยวกับ:

https://github.com/duplicati/duplicati/issues/3360

จากนั้นคุณสามารถโหลดคีย์อีกครั้งใน eclilpse โดยใช้การตั้งค่า -> การเชื่อมต่อเครือข่าย -> SSH2 คลิก "เพิ่มคีย์ส่วนตัว" (ยังคงเลือกคีย์ส่วนตัวของคุณแม้ว่าคุณจะเห็นชื่อในรายการคีย์ส่วนตัวอยู่แล้วก็ตามเนื่องจากคราสต้อง โหลดใหม่)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.