Saya biasanya terhubung ke server jarak jauh dengan
ssh user@server.com -p 11000
dan kemudian memberikan kata sandi setiap kali untuk pengguna. Bagaimana saya harus menghindari memasukkan kata sandi setiap kali saya terhubung menggunakan ssh?
Saya biasanya terhubung ke server jarak jauh dengan
ssh user@server.com -p 11000
dan kemudian memberikan kata sandi setiap kali untuk pengguna. Bagaimana saya harus menghindari memasukkan kata sandi setiap kali saya terhubung menggunakan ssh?
Jawaban:
Pertama , letakkan ini di ~/.ssh/config
:
Host server
HostName server.com
Port 11000
User user
Anda bisa ssh server
, lalu mengetikkan kata sandi.
Kedua , periksa ~/.ssh/
untuk melihat apakah Anda memiliki file bernama id_rsa
dan id_rsa.pub
. Jika tidak, Anda tidak memiliki kunci yang diatur, jadi Anda harus membuat pasangan menggunakan ssh-keygen
. Anda dapat memberikan kunci kata sandi atau tidak. File yang dihasilkan id_rsa.pub
akan terlihat seperti ini:
ssh-rsa lotsofrandomtext user @ lokal
Ketiga , ssh ke server, buat file ~/.ssh/authorized_keys
jika tidak ada. Kemudian tambahkan konten ~/.ssh/id_rsa.pub
yang Anda buat sebelumnya di sini. Ini mungkin berarti menyalin isi file ke clipboard Anda, kemudian membuka ~/.ssh/authorized_keys
editor teks dan menempelkannya.
Atau, gunakan perintah ssh-copy-id server
(ganti server
dengan nama di ~/.ssh/config
). Ini akan melakukan hal yang sama seperti di atas. Kadang-kadang saya terlihat ssh-copy-id
macet, jadi saya tidak begitu menyukainya.
Anda sekarang dapat melakukan ssh dengan adil ssh server
, kecuali Anda telah memilih untuk melindungi kunci pribadi Anda dengan frasa sandi. Umumnya jika Anda tidak menggunakan kata sandi, Anda harus melindungi kunci pribadi Anda dengan cara lain (misalnya enkripsi disk lengkap).
Keempat (hanya diperlukan jika Anda melindungi kunci pribadi Anda dengan frasa sandi), masukkan ini~/.bashrc
:
start_ssh_agent() {
# Try to use an existing agent
save=~/.ssh-agent
if [[ -e "$save" ]]
then
. "$save" > /dev/null
fi
# No existing agent, start a new one
if [[ -z "$SSH_AGENT_PID" || ! -e "/proc/$SSH_AGENT_PID" ]]
then
ssh-agent > "$save"
. "$save" > /dev/null
ssh-add
fi
}
start_ssh_agent
Dengan ini, Anda hanya perlu memasukkan frasa sandi satu kali per boot komputer.
User user
baris ke ~/.ssh/config
.
Beralih ke otentikasi berbasis kunci .
ssh -P 11000
saya bisa menyalin dengan ssh. Terimakasih banyak.
Sebagai pelengkap jawaban phunehehe, lihat Panduan Keychain Gentoo Linux untuk panduan gantungan kunci . gantungan kunci juga menggunakan ssh-agent . Daemon ssh-agent membuat frasa sandi tersedia (menjadi tidak tersedia ketika daemon ssh-agent meninggal) tetapi gantungan kunci reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs in
, untuk mengutip panduan.