bharathi-1397@bharathi-1397:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/local/bharathi-1397/.ssh/id_rsa):
/home/local/bharathi-1397/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/local/bharathi-1397/.ssh/id_rsa.
Your public key has been saved in /home/local/bharathi-1397/.ssh/id_rsa.pub.
The key fingerprint is:
de:e3:e5:f6:a3:8e:83:76:f0:7d:d6:e1:b3:d6:cc:93 bharathi-1397@bharathi-1397
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| S |
| ... . |
| .+o.. .++|
| o.+=o +E=|
| . .o++=oo+|
+-----------------+
Run Code Online (Sandbox Code Playgroud)
接下来,我将.ssh/id_rsa.pub中的内容复制并存储在远程计算机中.
bharathikannan.r@172.20.2.7:~$ mkdir .ssh
bharathikannan.r@172.20.2.7:~$ vi authorized_keys
Run Code Online (Sandbox Code Playgroud)
将复制的内容粘贴到authorized_keys,但下次我尝试登录时会问密码为什么?ssh bharathikannan.r@172.20.2.7 bharathikannan.r@172.20.2.7密码:
为什么要问密码?.我正确地按照步骤.我不知道为什么要问密码?
ssh -v bharathikannan.r@172.20.2.7
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to integ-build3 [192.168.5.173] port 22.
debug1: Connection established.
debug1: identity file /home/local/bharathi-1397/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/local/bharathi-1397/.ssh/id_rsa-cert type -1
debug1: identity file /home/local/bharathi-1397/.ssh/id_dsa type -1
debug1: identity file /home/local/bharathi-1397/.ssh/id_dsa-cert type -1
debug1: identity file /home/local/bharathi-1397/.ssh/id_ecdsa type -1
debug1: identity file /home/local/bharathi-1397/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
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: Server host key: RSA 66:3e:67:25:65:22:f0:70:3d:e3:ce:3b:14:49:7e:76
debug1: Host '172.20.2.7' is known and matches the RSA host key.
debug1: Found key in /home/local/bharathi-1397/.ssh/known_hosts:5
debug1: ssh_rsa_verify: signature correct
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,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/local/bharathi-1397/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Trying private key: /home/local/bharathi-1397/.ssh/id_dsa
debug1: Trying private key: /home/local/bharathi-1397/.ssh/id_ecdsa
debug1: Next authentication method: password
bharathikannan.r@172.20.2.7's password:
Run Code Online (Sandbox Code Playgroud)
根据您的描述,您在家中创建了.ssh目录,然后在同一目录(您的家中,而不是〜/ .ssh /)中创建了.authorized_keys文件.请确保文件位于正确的位置.
此外,以下命令可以设置您没有所有麻烦:
user@host:~$ ssh-copy-id user@otherhost
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
您可能没有 ~/.ssh 目录或没有 .ssh/authorized_keys 文件。请注意,在手动创建 ~/.ssh/authorized_keys 文件时,您很容易得到错误的权限之一。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
restorecon -R ~/.ssh
Run Code Online (Sandbox Code Playgroud)
真正的问题是最后一个,SELINUX(这是我偶然发现的,我总是这样做)。您始终可以尝试将其设置为宽松和/或也检查audit.log。
# ll -Z ~/.ssh/authorized_keys
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 /root/.ssh/authorized_keys
# restorecon -R ~/.ssh
# ll -Z ~/.ssh/authorized_keys
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 /root/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)
无法登录到目标计算机并使用以下命令创建完整的密钥结构
ssh-keygen
Run Code Online (Sandbox Code Playgroud)