Alguns clientes SFTP podem lidar com 2FA. Por exemplo, estou usando o 2FA com o FileZilla e o WinSCP e eles funcionam. Também configurei a autenticação ssh-key e ela funciona junto com o 2FA.
No entanto, sua pergunta é interessante e fiz uma pequena pesquisa. Eu encontrei esta resposta .
Portanto, é possível (e fácil) executar instâncias ssh separadas. Eu já testei isso.
-
Faça cópias separadas do arquivo sshd_config
.
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_pwd
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_2fa
-
Edite esses novos arquivos config
. Uma das coisas que você deve mudar é a porta shh. De acordo com o exemplo:
2.a)% linhas específicas desshd_config_pwd
são:
Port 1022
...
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM no
2.b)% linhas específicas desshd_config_2fa
são:
Port 2022
...
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
-
Abra as portas necessárias no firewall. De acordo com o exemplo:
$ sudo ufw limit 1022
$ sudo ufw limit 2022
-
Execute as novas instâncias do ssh:
$ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_pwd
$ sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_2fa
É isso.