[JAVA] com.jcraft.jsch.JSchException: invalid privatekey

อันนี้จดไว้ก่อนเป็นเคสแปลกที่เจอช่วยน้องในทีมลองในบ้านตัว Spring Boot App + SFTP ผ่าน แต่พอไปที่ Site ลูกค้าพังซะงั้น ทีมที่เป็น Deploy แจ้ง Error มาเต็มๆ ตามนี้ครับ ที่นี้ก็งงสิครับว่าเปิดอะไรขึ้น แต่หลังจากไปค้นข้อมูลมา อ่อ เป็นเรื่องของ Version OpenSSH ที่ใช้ Generate Public Private Key ครับ ที่นี้กลับมาที่ Code บ้าง ตัว lib spring ใช้ lib jsch ซึ่งตอนนี้ปี 2025 code ทีแก้ล่าสุด 8-9 ปีเลย น่าจะราวๆ 2016-2017 ในขณะที่ OpenSSH (7.8) มีการเปลี่ยนแปลงเรื่องเยอะ โดยส่วนนึงเรื่อง Format PRIVATE KEY ลองถาม Google มัน ถ้าตรวจเทียบ openssh-release-7.8 กับ What’s new in OpenSSH 7.8(Packt) ก็ตรงนะ ใช้แล้วครับ ตัว Code jsch มันไม่ขยับตามครับ จบเลย ทางแก้ 📌 ใช้ OpenSSH < 7.8 Generate Key มาให้ก่อน📌 หรือ แก้ Code ขยับ Lib ไปใช้ตัวอื่น ที่ผมดูๆมามีของ ส่วน dotnet ผมใช้ตัว รอดครับ ไม่เกิดปัญหา Reference








