在 ssh/scp 上使用 -i 选项

在 ssh/scp 上使用 -i 选项

我想通过在 ssh 或 scp 命令行上指定 -i 选项来设置登录到我的 redhat 服务器的能力。我已经按照谷歌的步骤进行操作,但似乎不起作用。步骤是:

On server:
su myuser
ssh-keygen -t rsa
accept all defaults

copy the id_rsa files to the client machine
attempt to ssh to the server with
ssh -i id_rsa myuser@server

权限是-rw-------forid_rsa-rw-r--r--for id_rsa.pub。我有什么遗漏的吗?在谷歌上找到有关此选项的信息非常困难。

使用 -v 选项的输出是这样的

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to server [192.168.6.97] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file id_rsa type 1
debug1: identity file id_rsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'server' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:34
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_0' not found

debug1: Next authentication method: publickey
debug1: Offering public key: id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: password
myuser@server's password:

答案1

听起来您创建了一个密钥,但没有在服务器上配置帐户来授权该密钥。

将 的内容复制id_rsa.pub到服务器并将其添加到~/.ssh/authorized_keys.

不要复制id_rsa到服务器,并对其进行保护。该文件包含私钥,服务器不需要看到它。

请注意,如果密钥存储在客户端上并在该目录中~/.ssh调用,客户端将自动使用它,因此您不需要使用命令行选项来指定它。id_rsassh-i

相关内容