Für den Hund sind menschliche Worte nichts mehr als Laute. Der Hund versteht das "Nein" nicht. Wenn zu dir jemand auf Syrisch "Nein" sagt, verstehst du das ja vermutlich auch nicht, wenn dir nicht vorher einer die Bedeutung erklärt, oder? Sprich, du musst dem Hund erstmal erklären, was du mit deinem "Nein" meinst.
Ich habe - um mal beim Thema Sofa zu bleiben - meinen Hund mit der Hand runtergeschoben (geschoben! nicht geschubst!) und das ganze mit einem "runter!" begleitet. Wichtig. Nicht fünfmal "Runter!" sagen und dann den Hund wegschieben. Der Hund muss die Verknüpfung zwischen "runter" und "alle vier Füße wieder am Boden" herstellen können.
Und ja, das dauert natürlich auch seine Zeit...
Du kannst dir auch die Tonlage zunutze machen: Tiefe Töne lassen sich auch für den Hund besser mit etwas negativem verknüpfen als hohe Töne. "Feeeiiiiin!", "Priiiiima!" für die Belohnung und eine "Mh-mh" oder "Noooo..." für ein "lass das bleiben".
Und wenn du verhindern willst, dass der Welpe wieder aufs Sofa hüpft: Lass sie gar nicht erst draufspringen. Sobald sie dazu ansetzt, nimm deine Hand, spreiz die Finger ab (so wie hier: Klick) und sag dein Negativ-Wort.