Eu nunca vi nada parecido com o que você está pedindo, mas se eu entendi a sua pergunta corretamente, você quer fazer o que Chris Down disse em seu comentário. Use portas diferentes para hosts diferentes, por exemplo porta 22 para o seu servidor e porta 222 para o seu roteador. Você poderia fazer login assim no servidor: ssh steve@url
e assim no roteador: ssh -p 222 router@url
.
O cliente OpenSSH possui um arquivo de configuração que permite definir aliases. Estes são úteis se você SSH e para trás muito. Aqui estão dois exemplos mínimos (lembre-se de substituir "url" pelo seu URL real):
# ~/.ssh/config
Host server
User steve
HostName url
Port 22
Host router
User router
HostName url
Port 222
Você agora pode acessar o SSH para o seu servidor com ssh server
e para o seu roteador com ssh router
.
Se você ainda insistir em fazer esse trabalho em apenas uma porta, eu recomendo que você simplesmente conecte o SSH ao seu servidor e depois o SSH do servidor ao roteador (ou o contrário). Alternativamente, você pode criar um usuário chamado roteador no seu servidor e criar um script de login que efetue logon automaticamente no roteador. Dependendo do seu shell de login (e do resto do seu software, você não disse nada sobre o seu sistema), você pode fazer algo assim:
# Create a new user on the server
useradd -m router -p MyPassWordABC123
# Log in as the new user
su router
# Generate a new SSH key
ssh-keygen -t rsa -C "router@server" # You can safely accept the defaults.
# Add your key to authorized keys on the router to be able to log in without password
ssh-copy-id [email protected]
# Try logging into the router to verify this works
# Add a startup command to your .profile (depends on your shell, .profile works for at least bash)
echo "ssh [email protected]" >> ~/.profile
Eu devo mencionar que (na minha opinião) esta é uma solução feia para este problema.