Di tempat kerja, kami memiliki host lompatan SSH yang mengharuskan kami menggunakan sudo ssh ke SSH ke host tujuan. Sesuatu seperti ini:
ssh jump-host
sudo -u sshuser ssh final-host
Saya mencoba memasukkan ini ke dalam ProxyCommand atau pengaturan konfigurasi SSH serupa sehingga saya bisa menjalankan ssh final-host , tapi saya tidak yakin bagaimana atau apakah itu mungkin.
Jawaban yang Diterima:
Tidak, Anda tidak dapat mengintegrasikan sudo jarak jauh panggil ke ProxyCommand di Anda use-case, tetapi Anda dapat -sejak OpenSSH 7.6 (Okt 2018)– gunakan:
Perintah Jarak Jauh
Menentukan perintah untuk dijalankan pada mesin jarak jauh setelah berhasil terhubung ke server. String perintah meluas ke akhir baris, dan dieksekusi dengan shell pengguna. Argumen untuk
RemoteCommandterima token yang dijelaskan di bagian TOKENS.
Jadi, Anda dapat membuat entri di .ssh/config seperti ini:
Host finalhost
RemoteCommand sudo -u sshuser ssh final-host
RequestTTY yes
Hostname jumphost
Host jumphost
User jumpHostUser
... Other options for jumphost, if necessary
Ini hanya berfungsi untuk subsistem terminal, oleh karena itu sftp finalhost akan mendaratkan Anda di jumphost , bukan finalhost . git dan beberapa alat lain tidak akan berfungsi dengan finalhost .