Those steps which you have to take to be able using Enter-PSSession command on your Linux box.
Step1. Install PowerShell Core.
Go to and follow Microsoft documentation: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7.1
Step2. To make Enter-PSSession working on Linux you have to install gss-ntlmssp
apt install gss-ntlmssp
Step3. Enable PSRemoting on Windows machine
Enable-PSRemoting –Force
Get-Item WSMan:\localhost\Client\TrustedHosts
Use a wildcard to permit all machines to use NTLM when authenticating to this host.
Set-Item WSMan:\localhost\Client\TrustedHosts -Force -Value *
Or be specific and add only your IP to the NTLM authentication permitted list.
Set-Item WSMan:\localhost\Client\TrustedHosts -Force -Concatenate -Value 192.168.138.7
Setup and restart the WinRM service to reflect the changes made.
Set-Service WinRM -StartMode Automatic
Restart-Service -Force WinRM
Now you can use PSremoting on your Linux.
Step4. How to use it on Linux box.
# Grab the credyntilas
$credyntilas = Get-Credential
# Important: you MUST use authentication type as Negotiate
Enter-PSSession -ComputerName 192.168.138.7 -Authentication Negotiate -Credential $creds
You can also run some commands
Invoke-Command -ComputerName 192.168.138.7 -Authentication Negotiate -Credential $creds -ScriptBlock {Get-HotFix}
Step5. If you want to clean up Windows machine.
Clear-Item WSMan:\localhost\Client\TrustedHosts
Restart-Service WinRM