違うサーバーにあるファイルを実行するために以下のようなスクリプトを書きました。

require 'net/ssh'
Net:SSH.start('host','user') do |ssh|
ssh.exec!('cd dir1')
ssh.exec!('ruby sample.rb')
end

しかしcdコマンドの実行後、カレントディレクトリがdir1になっていないようなのです。
やりたいことは、sshでuser@hostにアクセスして、~/dir1/sample.rbを実行したいです。
ただし、ruby dir1/sample.rbと実行するのではなく、dir1に行ってから実行したいのです。
どのようにすればいいでしょうか。