Community
Participate
Working Groups
Build Identifier: 3.5M1 As already mentioned at http://www.eclipse.org/forums/index.php/t/272139/ login to the user region via SSH doesn't work. It doesn't accept equinox/equinox and therefore it's not possible to access the Equinox console of the user region. The same approach does work for the kernel region though. Reproducible: Always
Noting this arose in 3.1.0.M01 (which is the formal release version which should have been 3.5.0.M01).
> The same approach [ssh with equinox/equinox] does work for the kernel region though. The fact that the kernel shell is accessible over ssh using userid/password equinox/equinox rather than admin/springsource is a separate bug and I have raised bug 367762 to cover this.
Fixing bug 367762 also fixed this one. Now the user region SSH is available and accepts admin/springsource. Fixed with commit a380d8b in the Nano repository and commit b90fb10 in the Kernel repository. Targeted for 3.5.0.M02
I now have an explanation for the initial problem. The SecureStorageLoginModule, defined in the console bundle, cannot be loaded in the user region and that is why the SSH authentication does not work. The two regions use different classloaders. The classloader of the kernel region manages to load the LoginModule - the loading finally is delegated to URLClassLoader, which has in the classpath the console jar. The classloader of the user region is BundleDelegatingClassLoader, defined in org.eclipse.virgo.kernel.services. The loading finally is delegated to the StartupClassloader, but it can't find the LoginModule class and finally SecureStorageLoginModule is not loaded. There is a fragment to the sshd bundle, which I originally developed for the standalone usage of the console - there the situation is the same. This fragment imports the LoginModule package, so that the sshd bundle can load the class. If this fragment is installed in the user region, the SSH login works just fine. However, this solution is not necessary, since Virgo's KernelLoginModule is now used for authentication in the console SSH.