Tampaknya ada dua versi klien SSH yang berbeda pada Macbook Pro saya yang menjalankan Sierra (10.12.4). Jika saya melakukan hal berikut:
$> ssh dev
Ini bekerja dengan baik. Namun, jika saya melakukan hal berikut:
$> open ssh://dev
Ini membuka terminal baru yang kemudian mengeluh tentang pengaturan enkripsi di ssh_config
file saya . Meneliti keluhan spesifik, saya menemukan bahwa pembukaan melalui pengendali protokol menggunakan versi SSH yang lebih lama.
Bagaimana cara mengubah klien SSH yang dialihkan ke protokol?
/usr/local/bin/ssh
Proses SSH membunuh dirinya sendiri setelah menjalankannya melalui metode kedua, saya tidak yakin bagaimana saya akan tetap hidup untuk melihatnya dalam daftar proses.Jawaban:
Anda dapat menggunakan alat yang sangat nyaman untuk mengubah aplikasi default untuk penangan URL tertentu.
Ubah skema URL ssh dengan RCDefaultApp
Ini akan terlihat sangat mirip dengan tangkapan layar ini:
sumber
Untuk menjawab pertanyaan Anda tentang mengubah ssh: // protokol klien,
Per https://superuser.com/a/548122/202319 , Anda dapat memodifikasi
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
untuk membuka aplikasi apa pun dengan pengenal terdaftar saat ssh: // atau URL lain ditemukan.Ini bukan solusi yang sempurna, karena masih membutuhkan bundel aplikasi, atau akan menggunakan Terminal.app (yang sudah Anda lihat).
Tetapi, Anda harus dapat memperbaiki file .login atau .bashrc Anda sehingga shell Terminal.app default akan tetap menggunakan yang Anda inginkan
ssh
.sumber
.login
dan.bashrc
mengkonfigurasi perubahan? Masalahnya bukan aplikasi terminal mana yang sedang dibuka, tetapi biner SSH mana yang sedang dieksekusi. Memanggilssh
di dalam sesi terminal panggilan satu biner, tetapi memiliki terminal membuka koneksi melalui protokol memanggil biner SSH lainnya.Saya tidak punya mac untuk memeriksa tetapi dugaan saya adalah:
Mac hadir dengan ssh client / usr / bin / ssh
Anda menginstal versi yang lebih baru di / usr / local / bin / ssh
Anda dapat mencoba menghapus / usr / bin / ssh atau mengatur ulang urutan $ Path sehingga ia akan memilih / usr / local / bin / ssh terlebih dahulu
sumber
csrutil disable