Eu posso ssh
do meu Google Pixel Slate para qualquer outro computador. Sem problemas.
Não consigo ssh
de nenhum outro computador para o Chrome OS. Acho que é porque o shell é executado como uma VM e ainda tem seu próprio conjunto de endereços IP diferente do que o Chrome OS está usando.
Então a pergunta. Existe uma maneira de SSH no Chrome OS? Algum tipo de NAT provavelmente?
A melhor opção para a maioria das pessoas é SSH no Linux Beta Terminal (Crostini). Com isso, você pode ter acesso a uma VM Linux completa em execução no seu Chromebook e pode instalar aplicativos Linux por meio do APT que são executados na área de trabalho do seu Chromebook.
O SSH através do Linux Beta é de longe o método mais fácil e ainda permite que você envie arquivos SCP para o seu Chromebook, abra imagens, reproduza arquivos de áudio e mais funções.
Instruções detalhadas com fotos e código podem ser encontradas aqui...
https://www.hackershark.com/2021/05/13/how-to-ssh-into-your-chromebook-through-linux-beta/
Visão geral
Como você mencionou, existem várias opções para acessar dispositivos ChromeOS, dependendo de qual é seu objetivo. O mais fácil é ativar o SSH no Crostini e configurar um encaminhamento de porta usando as novas opções nas versões mais recentes do ChromeOS. O segundo mais fácil é o Crouton, que requer o modo Desenvolvedor, mas ainda pode manter muitos dos recursos de segurança do sistema. O último, mais difícil e menos "seguro" é configurar o ChromeOS "host" para executar um servidor SSH, mas isso requer a remoção de muitas das proteções de segurança que tornam os Chromebooks uma plataforma de desenvolvimento realmente sólida.
Provavelmente, há muitos posts cobrindo SSH em Crostini ou Crouton, então vou apenas examinar a opção "difícil" e tentarei voltar e atualizar com alguns links para os outros, à medida que me deparo com trabalho consistente e melhores práticas mensagens para aqueles.
MODO DIFÍCIL, também conhecido como YOLO:
Se você deseja SSH no sistema operacional do host real, precisa ativar o serviço SSH alternando para o modo de desenvolvedor (limpa todos os dados durante a conversão). Você pode escolher a opção de habilitar "Opções de depuração" durante a configuração pós-redefinição, mas descobri que isso realmente causa alguns problemas mais tarde, então recomendo apenas conectar-se à Internet e fazer login como faria normalmente.
Se você deseja SSH em seu sistema operacional host ChromeOS, você precisa desativar a proteção somente leitura rootfs, observe que isso reduz significativamente a segurança do seu sistema e fazer uma alteração incorreta ou excluir o arquivo errado (ou um script quebrado ou malware abusar do seu acesso) pode fazer com que o ChromeOS pare de inicializar, forçando você a usar uma recuperação USB ou executar um Powerwash que exclui todos os seus dados de usuário.
Depois de desativar a proteção rootfs, você pode ativar o serviço SSH seguindo as instruções da fonte do ChromeOS.
Existem 3 opções, sendo a primeira a Depuração que recomendo pular, a segunda sendo a melhor IMO porque você pode desativar a senha SSH e remover as "chaves de teste" que não são seguras, pois são conhecidas publicamente, e a terceira requer executando o sshd manualmente após cada reinicialização, o que provavelmente não é o que você deseja se precisar de acesso remoto/autônomo ao seu Chromebook/Chromebox. Embora, para a terceira opção, você possa evitar o uso das "chaves de teste", desde que possa definir as permissões de arquivo corretamente para o
authorized_keys
arquivo e armazená-lo sob o/usr/local/
qual o ChromeOS não toque durante as atualizações.https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/chromeos-base/chromeos-sshd-init/files/openssh-server.conf.README#25
Houve algumas mudanças no contêiner do Linux. Agora ele pode encaminhar portas, mas apenas para números de porta não privilegiados (1024 e acima).
Já existe um daemon SSH em execução na porta 2222. Isso faz algo para o ChromeOS iniciar o contêiner e é um servidor somente SFTP.
O que você pode fazer é instalar seu próprio daemon SSH e executá-lo em uma porta diferente (eu uso 2223) e usar o recurso de encaminhamento de porta no sistema operacional host, fornecido acima.
É um inconveniente, mas o encaminhamento de porta não é restaurado quando você para e inicia o contêiner. Você precisa iniciar manualmente o encaminhamento na guia de configurações do Linux depois de interromper o contêiner.
Se você conseguir fazê-lo funcionar, lembre-se de fazer backup do seu container Linux. Os contêineres do Linux podem quebrar e não inicializar a partir do aplicativo Terminal.
Se o contêiner não for iniciado a partir do aplicativo Terminal, não será possível iniciar o encaminhamento de porta. (Existe uma maneira de iniciar manualmente um contêiner com CROSH e, em seguida, usar termina e depois lxc. Você pode usar isso se o Terminal não iniciar mais o contêiner e você quiser entrar nele.)