ที่ไม่WinSCPเก็บข้อมูลของเว็บไซต์หรือรหัสผ่าน? ฉันหามันไม่เจอในเอกสารและการตั้งค่า ...
ที่ไม่WinSCPเก็บข้อมูลของเว็บไซต์หรือรหัสผ่าน? ฉันหามันไม่เจอในเอกสารและการตั้งค่า ...
คำตอบ:
ไฟล์การกำหนดค่าจะถูกเก็บไว้ในรีจิสทรีของ Windows หรือหากคุณใช้รุ่นพกพาในไฟล์ INI ( ดูเอกสารประกอบ ) ที่ตั้งของรีจิสทรีคือ:
HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2
คุณสามารถส่งออกการตั้งค่าไปยังไฟล์ INI ได้ตลอดเวลาโดยกดExport
ในกล่องโต้ตอบการตั้งค่า
โปรดทราบว่ารหัสผ่านของคุณจะไม่ถูกเก็บไว้ในรูปแบบของข้อความ แต่ถูกเข้ารหัส แม้ว่าจะถอดรหัสยาก แต่ก็เป็นไปไม่ได้
ลองวิธีนี้
เข้าสู่ระบบในเซสชันที่คุณบันทึกไว้
ไปที่เมนูเซสชั่น
คลิกที่สร้าง URL
ตรวจสอบตัวเลือกชื่อผู้ใช้และรหัสผ่านเท่านั้น (หากคุณต้องการเส้นทางไดเรกทอรีปัจจุบันคลิกที่ตัวเลือกนี้เช่นกัน)
คุณมีหลายตัวเลือก URL / Script / .Net Assembly เลือกที่ต้องการ
คลิกที่คัดลอกไปยังบอร์ดคลิป
มันจะมีชื่อผู้ใช้และรหัสผ่าน
แค่นั้นแหละ.
นี่เป็นCesar's
คำตอบที่ง่ายมากและถือว่ารหัสผ่านของคุณยังคงใช้งานได้ใน SCP
สร้างแบตช์ไฟล์ชื่อecho.cmd
ที่มีข้อมูลต่อไปนี้:
echo %*
pause
วางไว้ในที่ที่เหมาะสมเช่นเดสก์ท็อปของคุณ
ไฟ WinSCP และเชื่อมต่อกับเว็บไซต์ของคุณ คลิกที่Options -> Preferences
:
Integration -> Applications
ในการตั้งค่าการโต้ตอบไปที่ แทนที่สิ่งที่ก่อนหน้านี้ในเส้นทาง PuTTY ด้วยพา ธ ไปยังecho.cmd
ไฟล์แบตช์ที่สร้างขึ้นใหม่ เลือกตัวเลือกด้วย:
Remember session password and pass it to PuTTY (SSH)
OK
คลิก
ตอนนี้เปิดตัว PuTTY จากภายใน WinSCP
รหัสผ่านที่เก็บไว้ก่อนหน้านี้ของคุณควรจะปรากฏบนหน้าจอ!
สร้างแอปพลิเคชันคอนโซล C # ใหม่จากนั้นพิมพ์โปรแกรมต่อไปนี้:
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
foreach (var str in args)
System.Console.WriteLine(str);
System.Console.ReadLine();
}
}
}
หากคุณไม่ใช่โปรแกรมเมอร์ภาษา C # คุณสามารถทำได้อย่างง่ายดายกับภาษาอื่น ๆ ที่คุณอาจคุ้นเคย จุดประสงค์ก็เพื่อพิมพ์ค่าใด ๆ ที่ถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังโปรแกรมของคุณ คุณสามารถทำได้ด้วยสคริปต์หากคุณคุ้นเคยกับมันมากขึ้น
ตอนนี้รวบรวมโปรแกรมของคุณและคว้าไบนารีของคุณ (เช่น ConsoleApplication8.exe) วางไว้ในที่ที่เหมาะสมเช่นเดสก์ท็อปของคุณ
ตอนนี้ถ้ารหัสผ่านของคุณยังใช้งานได้ไฟ WinSCP และเชื่อมต่อกับเว็บไซต์ของคุณ คลิกที่ตัวเลือก -> การตั้งค่า
ในกล่องโต้ตอบการตั้งค่าให้ไปที่ Integration -> Applications แทนที่สิ่งที่ก่อนหน้านี้ในเส้นทาง PuTTY ด้วยเส้นทางไปยังไบนารีที่สร้างขึ้นใหม่ของคุณ เลือกตัวเลือก "จดจำรหัสผ่านของเซสชันและส่งผ่านไปยัง PuTTY (SSH)"
คลิกตกลงจากนั้นลองเรียกใช้ PuTTY จากภายใน WinSCP
รหัสผ่านที่เก็บไว้ก่อนหน้านี้ของคุณควรจะปรากฏบนหน้าจอของคุณ
ฉันมีกรณีการใช้งานที่แปลกมากฉันจำเป็นต้องกู้คืนรหัสผ่านของฉัน แต่ผู้ดูแลระบบของฉันได้ล็อคสภาพแวดล้อมของฉันลงดังนั้นฉันจึงไม่สามารถเรียกใช้ไฟล์ปฏิบัติการที่ไม่ได้อยู่ในรายการที่ปลอดภัย
วิธีแก้ปัญหาของฉันคือชี้บรรทัดคำสั่ง Putty ไปที่ Notepad ++ แทน
เมื่อมันวิ่งมันบอกว่า "File -pw" ไม่มีอยู่ฉันควรสร้างมันขึ้นมาหรือไม่
จากนั้นมีข้อความว่า "ไฟล์ {รหัสผ่านแสดงที่นี่} ไม่มีอยู่ฉันควรสร้างหรือไม่" และอีกครั้งที่คุณพูดตอนนี้และแบมก็มีรหัสผ่านในข้อความที่ชัดเจน
ps
จะแสดงรหัสผ่านหากมีการระบุไว้ในบรรทัดคำสั่งรวมทั้งกระบวนการย่อยหากจะให้ทำงานต่อไปในบางครั้ง)
คุณสามารถใช้เครื่องมือเช่น WireShark เพื่อ "ดู" สิ่งที่เกิดขึ้นกับสาย สิ่งที่ฉันหมายถึงคือการมีเซสชันการจับแพ็คเก็ตที่ทำงานอยู่ (ใน WireShark) จากนั้นเข้าสู่เซิร์ฟเวอร์ FTP ของคุณ (โดยใช้ WinSCP โดยไม่มีการเข้ารหัส)
จากนั้นโดยดูที่เซสชันที่ลงทะเบียนใน WireShark เราสามารถระบุ "การสนทนา" ได้อย่างง่ายดาย (กรองโดย IP ปลายทางเช่น) จากนั้นระบุคำขอ: USER blabla และคำขอ: PASS blabla ที่ระดับ FTP ของ "การสนทนา"
ฉันมาที่คำตอบนี้ในขณะที่ค้นคว้าปัญหาที่แตกต่างออกไปเล็กน้อย แต่สิ่งนี้มีประโยชน์และฉันต้องการแบ่งปันสิ่งที่ฉันทำ
ปัญหาของฉันคือฉันใช้ WinSCP ด้วยรหัสผ่านที่บันทึกไว้ใน Windows XP ภายในโดเมน Active Directory ซึ่งเปลี่ยนไป ด้วยโดเมน Active Directory ใหม่โปรไฟล์ผู้ใช้ของฉันก็เปลี่ยนไปเช่นกันทำให้ WinSCP ไม่แสดงโปรไฟล์การเข้าสู่ระบบที่บันทึกไว้
ในการกู้คืนโปรไฟล์การเข้าสู่ระบบ WinSCP ก่อนหน้านี้ฉันได้ดำเนินการดังต่อไปนี้
เริ่มขึ้นregedit
การประยุกต์ใช้และไม่ค้นหาสำหรับคีย์ใด ๆ Martin Prikryl
ที่มีชื่อของ หลังจากการแข่งขันที่ผิดหลายครั้งฉันพบกุญแจด้วยสิ่งที่ดูเหมือนว่าจะเป็นข้อมูลเซสชั่นที่ถูกต้อง
ฉันส่งออกคีย์รีจิสทรีของเซสชัน WinSCP โดยใช้ regedit
คำสั่งส่งออกไปยังไฟล์ข้อความ
ต่อไปฉันแก้ไขข้อความที่ส่งออกในไฟล์ข้อความเพื่อที่จะใช้ HKEY_CURRENT_USER
เป็นจุดเริ่มต้นของคีย์สมบูรณ์ด้านหน้าของคีย์ย่อยของซอฟต์แวร์
ถัดไปโดยใช้ regedit
ฉันนำเข้าข้อมูลเพื่อปรับเปลี่ยนคีย์รีจิสทรีของ Windows ที่ WinSCP ใช้สำหรับผู้ใช้ปัจจุบัน
การกระทำเหล่านี้ทำสิ่งต่อไปนี้: (1) พบข้อมูลเซสชันการเข้าสู่ระบบ WinSCP สำหรับโปรไฟล์ผู้ใช้เก่า (2) ทำสำเนาของข้อมูลนั้น (3) แก้ไขคีย์รีจิสทรีของ Windows เพื่ออนุญาตให้นำเข้าด้วย regedit
เพื่อแก้ไขผู้ใช้ปัจจุบัน (4) นำเข้าข้อมูลที่แก้ไขรายการรีจิสทรี WinSCP สำหรับโปรไฟล์ผู้ใช้ปัจจุบัน
หลังจากทำตามขั้นตอนนี้ฉันสามารถเข้าถึงเว็บเซิร์ฟเวอร์ด้วย WinSCP
อาจมีเหตุผลสองประการที่ทำให้เรื่องนี้ตรงไปตรงมาและทำงานได้ ครั้งแรกของพีซีทั้งหมดนี้ถูกใช้โดยบุคคลเพียงคนเดียวดังนั้นจึงไม่ใช้ร่วมกันลดการจับคู่ที่ผิดพลาด ประการที่สองฉันมีสิทธิ์ผู้ดูแลระบบไปยังพีซี อันดับที่สามคือ Windows XP และไม่ใช่ Windows 7/8
การถามคำถามที่พบบ่อยของ WinSCP ฉันสามารถกู้คืนรหัสผ่านที่เก็บไว้ในเซสชัน WinSCP ได้หรือไม่ :
วิธีหนึ่งคือการกู้คืนรหัสผ่านของคุณคือการเปิดใช้งานการตั้งค่าการบันทึกรหัสผ่าน ดูบันทึกรหัสผ่านและตัวเลือกการตั้งค่าข้อมูลที่ละเอียดอ่อนอื่น ๆ จากนั้นตรวจสอบไฟล์บันทึกเซสชันเพื่อค้นหารหัสผ่านที่เก็บไว้
. 2017-06-13 07:41:11.313 ---------------------------------------------------------------
. 2017-06-13 07:41:11.313 WinSCP Version 5.9.5 (Build 7441) (OS 10.0.15063 - Windows 10)
. 2017-06-13 07:41:11.313 Configuration: HKCU\Software\Martin Prikryl\WinSCP 2\
. 2017-06-13 07:41:11.313 Log level: Normal, Logging passwords
...
. 2017-06-13 07:41:11.313 ---------------------------------------------------------------
. 2017-06-13 07:41:11.313 Session name: My server (Site)
. 2017-06-13 07:41:11.313 Host name: example.com (Port: 22)
. 2017-06-13 07:41:11.313 User name: martin (Password: mypassword, Key file: No)
นอกจากนี้คุณยังสามารถใช้ฟังก์ชั่นGenerate Session URL / Codeเพื่อดึงรหัสผ่านที่บันทึกไว้ โปรดทราบว่าสัญลักษณ์พิเศษในรหัสผ่านอาจถูกหลีกเลี่ยงได้ คุณมักจะเห็นรหัสผ่านไม่เป็นอันตรายในรหัสแอสเซมบลี. NETโดยที่จะใส่เครื่องหมายคำพูดคู่เท่านั้น (ในทุกภาษาที่รองรับ)
เพียงตั้งค่าระดับการบันทึกเป็นสูงสุดใน WinSCP และเชื่อมต่อในเซิร์ฟเวอร์ บันทึกประกอบด้วยรหัสผ่านธรรมดา