I just did this last week with a 120GB SSD and my Raspberry Pi 3
Below is how I did it. It is not meant to be a tutorial and I take no responsibility for any omisions or errors!
I imaged my SD card with WinDisk32Imager. I then set the write once bit by adding program_usb_boot_mode=1 to the bottom of /boot/config.txt on the SD card. Then I rebooted to allow the bit to be written.
I then used Etcher to write the SD image I created to my 120GB SSD.
I removed the SD card from my RPi and connected the SSD using a powered SATA to USB lead.
Once it booted I sshd to the RPi and expanded the file system using the command line as raspi-config can’t do it with SSDs. To do this I did the following;
The commands below suited my SD image but may not suite yours
sudo fdisk /dev/sda
Enter p to see the partitions - take a note of the start of partition 2
Press d and then 2 to delete the main partition (I didn’t have a swap partition so nothing else to delete)
Press n then p and then 2 to create a new primary partition, next you need to enter the start of the partition by entering the start number from the old partition that you noted in step one.
For the end of the partition just press enter to accept the default.
If asked to remove ext4 signature select no.
If you are sure you have done everthing ok press w to write the new partition table.
REBOOT
ssh back in and enter sudo resize2fs /dev/sda2
When finished check using df -h.
The SSD and cable I used are;