Elon Musk says he refused to give Kyiv access to his Starlink communications network over Crimea to avoid complicity in a "major act of war".
Kyiv had sent an emergency request to activate Starlink to Sevastopol, home to a major Russian navy port, he said.
His comments came after a book alleged he had switched off Starlink to thwart a drone attack on Russian ships.
A senior Ukrainian official says this enabled Russian attacks and accused him of "committing evil".
Russian naval vessels had since taken part in deadly attacks on civilians, he said.
"By not allowing Ukrainian drones to destroy part of the Russian military (!) fleet via Starlink interference, Elon Musk allowed this fleet to fire Kalibr missiles at Ukrainian cities," he said.
"Why do some people so desperately want to defend war criminals and their desire to commit murder? And do they now realize that they are committing evil and encouraging evil?" he added.
The row follows the release of a biography of the billionaire by Walter Isaacson which alleges that Mr Musk switched off Ukraine's access to Starlink because he feared that an ambush of Russia's naval fleet in Crimea could provoke a nuclear response from the Kremlin.
Ukraine targeted Russian ships in Sevastopol with submarine drones carrying explosives but they lost connection to Starlink and "washed ashore harmlessly", Mr Isaacson wrote.
Starlink terminals connect to SpaceX satellites in orbit and have been crucial for maintaining internet connectivity and communication in Ukraine as the conflict has disrupted the country infrastructure.
SpaceX, in which Mr Musk is the largest shareholder, began providing thousands of Starlink satellite dishes to Ukraine shortly after Russia launched its full-scale assault on its neighbour in February last year.
Responding to the book's claim, Mr Musk said on X that SpaceX "did not deactivate anything" because it had not been activated in those regions in the first place.
"There was an emergency request from government authorities to activate Starlink all the way to Sevastopol. The obvious intent being to sink most of the Russian fleet at anchor," he said.
"If I had agreed to their request, then SpaceX would be explicitly complicit in a major act of war and conflict escalation."
Russia illegally annexed Crimea in 2014, eight years before Moscow launched its full-scale invasion of Ukraine
In the past, Mr Musk has said that while the system had "become the connectivity backbone of Ukraine all the way up to the front lines", "we are not allowing Starlink to be used for long-range drone strikes".
Mr Musk reiterated the point to Mr Isaacson, asking: "How am I in this war? Starlink was not meant to be involved in wars. It was so people can watch Netflix and chill and get online for school and do good peaceful things, not drone strikes."
He also offered a personal opinion, calling for a truce and saying that Ukrainians and Russians were dying "to gain and lose small pieces of land" and this was not worth their lives.
He provoked anger last year when he proposed a plan to end the war which suggested the world formally recognise Crimea as part of Russia and asking residents of regions seized by Russia last year to vote on which country they wanted to be part of.
Russian chess grandmaster Garry Kasparov said that plan displayed "moral idiocy"
I'm quite comfortable with it.
If the government wants a private citizen's data and resources, they can contract with them for it. I find it bizarre that you think the government should just be able to take whatever it wants from people.
If you give them that power, some day, the cause will not be noble.
You asked if I was comfortable with that. I didn't argue anything. I stated why I am comfortable.
Also are hashtags a unique thing on your instance or what's up? Didn't understand the point of that, or @ing me
I'm serious about the hashtag and @ing tho - is that an instance thing?