Frasa sandi SSH diingat dalam MacOSX Snow Leopard

8

Saya menghadapi situasi yang sangat aneh dengan Snow Leopard. Saya memiliki server Linux, yang dikonfigurasi untuk menerima koneksi ssh yang diautentikasi hanya melalui kunci RSA. Tanpa kata sandi. Di laptop saya, saya benar menggunakan kunci RSA dengan ssh-keygen, dan sementara saya melakukannya, saya menambahkan kata sandi. Saya kemudian memindahkan id_rsa.pub di server Linux .ssh / official_keys.

Sejauh ini bagus. Sekarang saya mencoba dari laptop Snow Leopard saya untuk login di mesin Linux. Saya mendapatkan jendela sembulan yang meminta frasa sandi saya. Ini adalah hal pertama yang mengejutkan saya, seperti yang saya harapkan permintaan frasa sandi shell, bukan popup. Aplikasi yang meminta frasa sandi adalah ssh, sesuai dengan rincian di jendela sembulan ini. Juga, ada opsi "ingat frase di gantungan kunci", yang dinonaktifkan.

Saya memasukkan kata sandi saya. Munculan menghilang dan terminal masuk dengan benar ke mesin Linux. Sekarang jika saya logout, dan mencoba ssh lagi, login terjadi tanpa permintaan passphrase, yang bukan yang saya inginkan.

Hal-hal yang saya periksa:

  • tidak ada yang disimpan di gantungan kunci. Menjelajah dan tidak menemukan apa pun.
  • jika saya menutup / keluar dari terminal, dan membuka yang baru, saya masih tidak diminta untuk passphrase, dan ssh login tanpa ada pertanyaan.
  • jika saya keluar dari sesi MacOSX, dan relogin, frasa sandi diminta pada upaya berikutnya, lagi dengan dialog sembulan. Maka itu tidak diminta lagi.

Di mana frasa sandi disimpan? apa yang sebenarnya terjadi, dan bagaimana saya bisa memaksakan permintaan frasa sandi di setiap upaya ssh?

Stefano Borini
sumber

Jawaban:

10

OS X akan secara otomatis meluncurkan ssh-agent untuk Anda ketika diperlukan kunci pribadi Anda. Kunci Anda kemudian akan tersedia melalui ssh-agent (tanpa memasukkan kata sandi Anda lagi) sampai Anda keluar dari OS X atau menghapus kunci (melalui ssh-add -datau ssh-add -Duntuk menghapus semua kunci).

Ini mirip dengan perilaku sistem * NIX standar dengan ssh-agent, dan memungkinkan fungsionalitas yang berguna seperti penerusan otentikasi agen ( ssh -A) berfungsi sehingga Anda tidak perlu meletakkan kunci pribadi Anda di seluruh jaringan.


Jika Anda ingin menonaktifkan ssh-agent (untuk semua pengguna Mac Anda), Anda dapat menghapus file tersebut /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist


Cara lain adalah dengan membongkar & menonaktifkan LaunchAgent:

sudo launchctl -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

The -wmenyebabkan ia tidak hanya membongkar tapi mark & mengingatnya sebagai dinonaktifkan.

voretaq7
sumber