You've got it! I would suggest reading some of the GNU ddrescue documentation to get a little understanding of the process. Some of the information will be overwhelming so don't worry.
The easiest option for Linux is to create a bootable Knoppix USB drive using Etcher (Mac/Windows/Linux). Option boot and select the orange icon labeled "EFI".
The most important part when using GNU ddrescue is to utilize the "log" file or "mapping" file option so if the cloning process is interrupted for any reason, you can resume it right where it left off. If this happens you will want to re-verify the source & destination locations especially if the system has been rebooted. Also do not try to mount the clone until you are finished or it could accidentally alter data.
Since Apple's boot process interferes with the normal boot process for Knoppix, I will have you manually mount the "Data" partition on the Knoppix USB drive. Click on the file cabinet icon on the Taskbar near the "Start" menu. In the left pane you may see an option labeled "Data" which if you click on it will mount it. If there is no "Data" option, then click on the "sdb3" option which should be the partition we want if you booted Knoppix with only the original internal drive connected. The URL bar for the file explorer should provide you with the path you will need to store the ddrescue "log" file. You may want to create a test folder or file and reboot and remount the "Data" partition to make sure the data is saved. If it does not work or the partition isn't formatted, let me know.
When using Linux to clone the drive with GNU ddrescue, you will first need to get the Linux identifiers for your drives. I would boot Knoppix and get the drive identifier for your internal source drive. Then plug in the destination drive and get the identifier for the destination drive. This is really important if the clone is interrupted and a reboot is performed as both drives may appear identical at that point. One easy method to get the drive identifier is by using GSmartControl which can be found by clicking the "Start" menu on the lower left of the Taskbar and navigating to "System Tools --> GSmartControl". You can also use the following command from a terminal (It is the black icon on the Taskbar near the Start menu on Knoppix).
sudo lsblk -f
I will provide you with a sample command to use to perform the first phase of the clone. I'm going to use "/dev/sdX" to represent the source drive, "/dev/sdY" to represent the destination drive and "/media/sdb3" to represent the path to the Knoppix data partition. Please substitute the Linux drive identifiers for your devices as appropriate. The Linux drive identifiers are similar to the "diskN" designation Apple uses if this helps you.
sudo ddrescue --ask -dDfvn <path-to-source-drive> <path-to-destination-drive> <path-to-log-file>
sudo ddrescue --ask -dDfvn /dev/sdX /dev/sdY /dev/sdb3/clone-log.txt
The first line is just a generic version which "explains" each item. The second line is my sample command which you will modify with the Linux identifiers for your devices.
This command can be used to run GNU ddresecue again trying to get more data from the damaged areas. You can adjust the number of retry's depending how much data is left to retrieve and the severity of the errors. If you have lots of data, then I would try a low number at first. The only difference between this command and the previous one is the removal of the "n" option and the addition of "-r3" which is telling ddrescue to retry each section 3 times.
sudo ddrescue --ask -dDfv -r3 /dev/sdX /dev/sdY /dev/sdb3/clone-log.txt
You can access the manual pages for GNU ddrescue from the Linux command line using the following command:
man ddrescue
To force quit the clone you just press Ctrl + C.
If the clone is unable to recover certain areas it is difficult to know whether to continue trying or to quit and hope for the best. Since we are cloning the whole drive, this includes empty areas, other partitons, and system files which are not needed for your recovery purposes. I usually make my decision to stop when it appears no more data is being rescued and the unrecovered portion is low. I will also look at the SMART data especially the RAW value for the "Reallocated Sector Count" and "Reallocated Event Count" and "Uncorrectable Errors" to see how the condition of the drive has worsened. This can be done using GSmartControl.
Please be aware that it will take hours if not days for this clone to complete depending on how bad the drive becomes. Most times a clone for a 500GB drive will be finished in a day or two, but I've left some go even longer.