SSH免密码远程登录
实现SSH免密码登录服务器
一般的SSH远程登录服务器
ssh登录使用ssh user@host 的方式,如:
$ ssh apps@10.3.8.150
这种方式比较低效,尤其是密码复杂,每次需要复制粘贴
SSH实现免输入密码登录服务器
客户端机器A想要远程登录目标机器B,使用ssh-keygen
机器A上的操作
生成私钥和公钥:
$ ssh-keygen -t rsa
提示输入密码,直接按回车就行 生成的密钥在 ~/.ssh 下:id_rsa是私钥,id_rsa.pub是公钥
机器B上的操作
创建 ~/.ssh/authorized_keys 文件
$ touch ~/.ssh/authorized_keys
查看 ~/.ssh 和 authorized_keys 的权限
~/.ssh 的权限是700,authorized_keys的权限是600,如果权限不对需要改过来:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
最后把机器A的公钥id_rsa.pub里面的内容复制到~/.ssh/authorized_keys就配置结束了,这样机器A再使用ssh user@host就自动登录到机器B。
更优雅地使用SSH
使用命令别名
更便捷的方式是alias设置别名,只需要改shell配置文件。我使用的是zsh,修改~/.zshrc
$ vim ~/.zshrc
例如添加: > alias 150=“ssh idi@10.3.8.150”
source生效,这是很实用的小技巧,可以举一反三。
$ source ~/.zshrc
这样要想ssh登录到10.3.8.150,只需打开终端后输入150即可。