У меня есть ситуация, когда мне приходится использовать разные учетные данные для входа на один и тот же IP-адрес в зависимости от порта, который я использую.
Итак, пример в командной строке будет выглядеть следующим образом:
ssh user1@192.168.1.2:22
и
ssh user2@192.168.1.2:2222
Я настроил следующее в моем файле ~ / .ssh / config: [ 116]
Host "192.168.1.*"
user user1
IdentityFile ~/.ssh/id_user1
PubkeyAuthentication yes
, который отлично работает для сценария user1 на порту 22, но есть ли способ настроить альтернативного пользователя и IdetityFile для user2 на порту 2222?
Я не пробовал, но я думаю, что опция HostName (см. man ssh_config
может предоставить вам решение:
Host "host22"
Hostname "192.168.1.2"
Port 22
user user1
IdentityFile ~/.ssh/id_user1
PubkeyAuthentication yes
Host "host2222"
Hostname "192.168.1.2"
Port 2222
user user2
IdentityFile ~/.ssh/id_user2
PubkeyAuthentication yes
). С этим вы должны уметь:
[ 111]или даже
ssh host22
ssh host2222
в качестве имени пользователя и порта указаны в файле конфигурации.
Полагаю, мне следовало искать…
Порт сопоставления хоста конфигурации SSH на superuser.com получил ответ, который мне был нужен!
В основном вместо:
Host "192.168.1.*"
Я сейчас использую:
Match host "192.168.1.*" exec "test %p = 22"
и
Match host "192.168.1.*" exec "test %p = 2222"
Полагаю, мне следовало искать…
Порт сопоставления хоста конфигурации SSH на superuser.com получил ответ, который мне был нужен!
В основном вместо:
Host "192.168.1.*"
Я сейчас использую:
Match host "192.168.1.*" exec "test %p = 22"
и
Match host "192.168.1.*" exec "test %p = 2222"