A为本地主机(即用于控制其他主机的机器)
B为远程主机(即被控制的机器Server)
A和B的系统都是Linux
在A上的命令:
ssh-keygen -t rsa # (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
#ll -a ~/.ssh 查看目录
~/.ssh/id_rsa.pub # 公钥(传送到其他服务器的公钥)
~/.ssh/id_rsa # 私钥
~/.ssh/known_hosts # ssh会把你每个你访问过计算机的公钥(public key)都记录
在A本地主机的公钥复制到远程主机的authorized_keys文件上
ssh-copy-id user@server # 需要输入 user 密码
# 或者 -i:指定公钥文件
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server # 需要输入 user 密码
# 成功后会在 B 上查看 authorized_keys 文件
cat /home/user/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnv1/iydQBCU68x0bGqwqPcQWCJrkpdi5i0cjgCXM0DCi8kubP
neerB6+wTBsG6O6XcCL6Ss3KYt68b+2bsKw1BGq5JPc3NIsV/h3cTBI2KRqYj4de6K5V7VpBLdgJ8L
WbptWZaZecGplwtCp9l1C7fj/m2fHw69/RtD1idyhu/6a7hXz5AhX61QOyLawxgHULI4J3aUIO/nHapKHr6p
2/CI5mzXIxn7wp2sbtXXMQIi2JZWJeG9UcbeQJFYVlJ8iiD7mjDDw1ZrmJ0fB6jCxd7pLgAf354GWqUK
lZUYgowDpEpDZBhiOqqIGs78WZyXmd5KJh+9T9n2PwpvjmXgACw== root@server
如果错误提示:
bash: /home/user/.ssh/authorized_keys: Permission denied
说明 user 对.ssh目录或者authorized_keys文件没有权限
在B上使用命令
chown -R user:user /home/user/.ssh/
-bash: ssh-copy-id: command not found
yum -y install openssh-clients