ubuntu 虚拟机 ssh无密码登录

这里写自定义目录标题


A机器(客户端) 不用输密码 ssh 登录 B机器(服务器) 步骤:
1、查看机器中是否安装 ssh
终端中输入:sudo ps -e |grep ssh
如果有sshd 说明有安装 否则要安装ssh包

2、ubuntu 18.04 安装 ssh 包
sudo apt-get update
sudo apt-get install openssh-server

3、客户端生成密匙
终端输入:ssh-keygen -t rsa
/home/你的用户名/.ssh文件夹中并查看是否有名为id_rsa和id_rsa.pub的文件,这就是生成的公钥和私钥文件

4、用 ssh-copy-id 命令复制公钥到 服务器中
终端输入: ssh-copy-id username@remote_host
我的是 ssh-copy-id lixin@slave
这样在服务器的 /home/你的用户名/.ssh文件夹中有一个授权文件 authorized_keys

5、在客户端 .ssh 文件夹中建一个 config 文件,(这一步可能不需要,但我机器就是需要)
ost SERVERNAME
Hostname ip-or-domain-of-server
User USERNAME
PubKeyAuthentication yes
IdentityFile ./path/to/key
我的配置如下:
Host slave
Hostname slave
User lixin
PubKeyAuthentication yes
IdentityFile ~/.ssh/id_rsa

这个参考: https://askubuntu.com/questions/311558/ssh-permission-denied-publickey/311894#311894

6、如果提示:sign_and_send_pubkey: signing failed: agent refused operation
用命令增加私钥: ssh-add
这个参考:https://www.shellhacks.com/signing-failed-agent-refused-operation-solved/#:~:text=While%20attempting%20to%20connect%20to%20some%20server%20over,too%20open%20permissions%20on%20a%20private%20key%20file.

7、服务端查看 ssh 日志命令
tail -f /var/log/auth.log

参考的网上文章还有:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-1804#copying-public-key-using-ssh-copy-id

你可能感兴趣的:(ssh,ubuntu,服务器)