A bad sector on a drive is a sign of permanent damage to the drive. Unless you have reason to believe that your drive marked these sectors as bad incorrectly, you cannot "fix" them.
It means that a part of your drive is damaged to the extent that it can no longer reliably be read from and/or written to.
Your system can continue to use the drive by marking that sector as unusable, but I'd generally recommend a drive replacement anyway, as often a bad sector can be a sign that more sectors, or the whole drive, may fail soon.
In fact, you can often force the drive to un-mark a sector as bad, and that sector will be usable again. However, it may stay like this, or it may become bad again, which is why this is not a good idea.
Now, as for the error message you've pasted in your question (as of my writing this), that error has nothing to do with bad sectors. It means that you don't have access to the drive. Being
sudo can give you access, so:
sudo fsck /dev/sdb
However, this is still probably not what you want, because /dev/sdb refers to the entire drive, whereas
fsck is designed to work on filesystems, which are usually (but not always, and you may have an exception here) placed in partitions. If the above didn't work, you may instead have wanted to do this to the 1st partition on that drive:
sudo fsck /dev/sdb1
You can get a list of partitions per drive with:
sudo fdisk -l