編輯:正是完成了什麼如何SSH密碼到本地沒有密碼?
我需要沒有密碼的SSH本地主機,通常的做法(與公共密鑰)不工作。
[email protected]:~$ rm -rf .ssh/*
[email protected]:~$ ssh-keygen -t rsa > /dev/null
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
[email protected]:~$ ls .ssh/
id_rsa id_rsa.pub
[email protected]:~$ ssh-copy-id -i localhost
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is f7:87:b5:4e:31:a1:72:11:8e:5f:d2:61:bd:b3:40:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
[email protected]'s password:
Now try logging into the machine, with "ssh 'localhost'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[email protected]:~$ ssh-agent $SHELL
[email protected]:~$ ssh-add -L
The agent has no identities.
[email protected]:~$ ssh-add
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
[email protected]:~$ ssh-add -L
ssh-rsa ...MY KEY HERE
[email protected]:~$ ssh-copy-id -i localhost
[email protected]'s password:
Now try logging into the machine, with "ssh 'localhost'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[email protected]:~$ ssh localhost echo 'testing'
[email protected]'s password:
[email protected]:~$
因此,你可以看到在最後一個命令它仍然要求密碼! 我該如何解決這個問題? Ubuntu的10.04,OpenSSH_5.3p1
EDIT2:
添加一些信息有關的sshd
[email protected]:~$ cat /etc/ssh/sshd_config | grep Authentication
# Authentication:
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
ChallengeResponseAuthentication no
# PasswordAuthentication yes
EDIT3:Ading從$導致的ssh -vv本地主機
$ssh -vv localhost
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/identity
debug1: Offering public key: /home/user/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/user/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
[email protected]'s password:
工程就像一個魅力!謝謝 –
我可以不使用步驟3無密碼的SSH?我什麼時候需要做第3步? –
@Rich:這只是爲了防止[@shipr在他的回答下面提到](http://stackoverflow.com/a/10744443/98528)。如果你的'〜/ .ssh/authorized_keys'已經存在並具有正確的權限,則不需要(3),但也沒有任何損害。 – akavel