Saya mencoba SSH ke server, di mana saya tidak memiliki hak akses root. Saya tidak suka menggunakan Putty, saya lebih suka Cygwin. Saya bisa masuk ke server menggunakan Putty, tetapi menggunakan kunci pribadi yang sama persis dan mengetikkan kata sandi yang sama persis, saya mendapatkan kesalahan menggunakan Cygwin. Saya mencoba ini dengan dan tanpa kekuatan SSH versi 2, dan dengan dan tanpa opsi port forwarding. Hasil yang sama Juga mencoba menghapus host dari file known_hosts saya, hasil yang sama.
Lihat di bawah. Mengubah alamat IP untuk keamanan.
$ ssh -v -2 -i private_key.ppk -L 5432:localhost:5432 [email protected]
Connecting to 22.22.22.22
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Connecting to 22.22.22.22 [22.22.22.22] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/private_key.ppk type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/private_key.ppk-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to 22.22.22.22:22 as 'user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client [email protected] <implicit> none
debug1: kex: client->server [email protected] <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:T1wfSekfyPulNsBaGn/d5ubEKy1VKWKmBcr/SQQTRSs
debug1: Host '22.22.22.22' is known and matches the ECDSA host key.
debug1: Found key in /home/user/.ssh/known_hosts:58
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/private_key.ppk
Enter passphrase for key '/home/user/.ssh/private_key.ppk':
Enter passphrase for key '/home/user/.ssh/private_key.ppk':
Enter passphrase for key '/home/user/.ssh/private_key.ppk':
debug1: No more authentication methods to try.
Permission denied (publickey).
Bagian "debug1: key_load_public: Mungkin tidak ada file atau direktori". Tapi sekali lagi, saya bisa SSH ke server ini dengan Putty menggunakan kunci pribadi yang sama, jadi kunci saya di server harus ada di tempat.
Permission denied (publickey)
oleh karena itu kuncinya. Baris sebelumnya sepertinya Anda kesulitan memasukkan kata sandi untuk membuka kunci file kunci, ini bukan kata sandi mesin jarak jauh.Jawaban:
format file ppk khusus untuk Putty. Saya pikir Anda perlu mengubahnya menjadi format umum. Anda dapat menggunakan puttegen.exe untuk melakukan ini.
sumber
Dengan cygwin, Anda bisa menggunakannya
ssh-keygen
untuk membuat kunciDan Anda bisa menggunakan 'cat' dan mungkin perintah 'file', untuk melihat kunci dan memeriksa formatnya juga. Ternyata ada banyak format kunci.
sumber