这是我的问题:
- 我有两台机器在同一个网络 192.168.122.0/24
我的/etc/hosts:
192.168.122.100 toto
192.168.122.110 tata
如果我输入ssh toto
::
root@toto's password:
Permission denied (publickey,password).`
但如果我输入它就有效..ssh [email protected]
问题是什么?
答案1
您必须指定远程用户,否则它将使用您本地登录的用户。
例如:
ssh username@host
因此,对于您而言,您可以使用:
ssh toto@toto
答案2
首先,您是否检查过 /etc/ssh/sshd_config(toto 主机)上的这些指令?
AllowUsers root toto
PermitRootLogin yes
如果是生产环境,我强烈建议按以下方式设置这些指令:
AllowUsers toto
Port 2233
PermitRootLogin no
避免root访问并设计22以外的其他端口。这样更安全。
如果您想在没有密码提示的情况下访问本地网络主机,请按照以下步骤操作(假设 totXX=主机客户端,totYY=主机服务器 ssh):
在所有机器上创建相同的用户(例如:toto)并使用相同的密码;
在 totXX 上生成公钥
# may output a message like this: toto@totXX:~> ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/toto/.ssh/id_rsa): Created directory '/home/toto/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/toto/.ssh/id_rsa. Your public key has been saved in /home/toto/.ssh/id_rsa.pub. The key fingerprint is: 3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 toto@totXX
在 totYY 上创建 ~/.ssh 目录
toto@totXX:~> ssh toto@totYY mkdir -p .ssh toto@totYY password:
将totXX公钥放到totYY上:
toto@totXX:~> cat .ssh/id_rsa.pub | ssh toto@totoYY 'cat >> ssh/authorized_keys' toto@totoYY password:
在 totYY 上重启 ssh 服务:
toto@totXX:~> sudo service ssh restart
如果一切正常,ssh 访问时将不需要输入密码。
toto@totoXX:~> ssh toto@totoYY toto@totYY:~>