ssh-keygen用来生成ssh公钥认证所需的公钥和私钥文件。
ssh秘钥登录特点:1.安全;2.免输密码。对于安全级别较高的服务器,建议配好ssh登录后禁掉密码登录。
ssh-keygen语法
ssh-keygen -t rsa -b 1024 -f yourkeyname -C "备注"
参数说明如下:
| 参数 | 解释 |
| -b | 采用长度1024bit的密钥对,b=bits,最长4096,不过没啥必要 |
| -t rsa | 采用rsa加密方式,t=type |
| -f | 生成文件名,f=output_keyfiles |
| -C | 备注,C=comment |
示例:
ssh-keygen -t rsa -b 40

输入密码会在 ~/.ssh目录下生成公私钥对 id_rsa和id_rsa.pub
在本地生成的公私钥对,需要将公钥文件id_rsa.pub的内容存放到目标服务器的~/.ssh/authorized_keys中
注意:authenrized_keys的权限必须是600或更小,否则会连接失败。
修改服务器上的ssh配置文件,位置:/etc/ssh/sshd_config
- RSAAuthentication yes
- PubkeyAuthentication yes
-
- PermitRootLogin no //禁止root登录
- PasswordAuthentication yes //允许密码登录,根据你的情况设置
然后重启ssh服务
service sshd restart
方法1. 直接ssh
ssh -i ~/.ssh/id_rsa -p 22 user@yourservername
方法2. (推荐):修改~/.ssh/config
- Host server_alias(你的服务器别名)
- HostName test.com/192.168.1.1(域名或IP)
- Port 22
- User user
- IdentityFile id_rsa
保存后,登录时只需执行
ssh server_alias
多个服务器另起一行续写就行了,就是这么简单!