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
RemoteCommand
terima 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 .