现有客户端机器A,服务端机器B,客户端使用ssh登录,想不输入密码,进行一些自动化操作
实现原理:
使用一种被称为“公私钥”认证的方式来进行ssh登录,“公私钥”认证方式是
1、在客户端A上创建一对私钥(在输入过程中会让你输入一个管理公私钥的密码)
ssh-keygen -t rsa
2、移动当前用户.ssh目录发现会生成两个文件id_rsa,id_rsa.pub:
cd ~/.ssh
3、复制id_rsa.pub文件中的内容追加到服务端机器B的用户根目录下.ssh文件夹中的authorized_key文件中(文件不存在则手动创建),私钥自己保存好即可。
touch authorized_keys
cat id_rsa.pub >> authorized_keys
4、至此配置已经完成当ssh登录时,ssh程序会发送私钥去和服务器上的公钥匹配,如果匹配成功就可以登录了。
目录对权限要求很高,如果权限不正确,会导致无法使用ssh登录
~/.ssh权限为700
chmod 700 ~/.ssh
authorized_keys权限为644
chmod 644 ~/.ssh/authorized_keys
配置便捷登录
在.ssh目录中创建config文件
touch config
Host
别名
HostName服务器IP地址
Port [端口号]
User xhaitun
IdentitiesOnly yes
ServerAliveInterval 60