约 509 字大约 2 分钟
前言
windows使用SSH(免密码登录)到服务器,及配置多个SSH免密码登录
生成秘钥
- 使用命令
ssh-keygen -t rsa
生成一对密钥Public Key
-Private Key
。 - 然后
Private Key
留在本地.ssh
文件下 - 将
Public Key
上传至服务器
生成
步骤一
运行命令ssh-keygen
,下面是出来的结果:
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Dell/.ssh/id_rsa): C:\Users\Dell/.ssh/id_rsa_test
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Dell/.ssh/id_rsa_test.
Your public key has been saved in C:\Users\Dell/.ssh/id_rsa_test.pub.
特别注意,这一步是让你选择文件名字和位置的,可以重命名,当出现多个key的时候可以区分开。
Enter file in which to save the key (C:\Users\Dell/.ssh/id_rsa): C:\Users\Dell/.ssh/id_rsa_test
-> 比如这里我们就命名为id_rsa_test
。
在本地的./ssh
目录下可以看到两个文件
id_rsa_test
- Private Keyid_rsa_test.pub
- Public Key
步骤二
将Public Key
上传到模板服务器,使用scp
命令
scp C:\Users\Dell\.ssh\id_rsa_test.pub uname@address:~/.ssh/
将id_rsa_test.pub
追加到~/.ssh/authorized_keys
中,如果没有则将id_rsa_test.pub
cp为authorized_keys
。
cat id_rsa_test.pub >> authorized_keys #追加
cp id_rsa_test.pub authorized_keys #复制
然后将./ssh
文件权限设置为700
,authorized_keys
设置为600,否则权限太多免密可能会失效。
chmod 700 ./ssh
chmod 600 authorized_keys
配置config
这里需要告诉系统,当我登录服务器A时,去拿id_rsa_test
文件做校验。(默认会拿id_rsa
)
创建
config
文件加入以下内容
Host 别名 HostName 主机名 User 用户名 Port 22 IdentityFile ~/.ssh/id_rsa_test #多个服务器就配置多个 Host 别名 HostName 主机名 User 用户名 Port 端口 IdentityFile 密钥文件的路径
连接
最后,使用以下命令连接:
ssh uname@address
单配置
单配置步骤跟多配制相差不多,依旧按照上方步骤,区别:
Enter file in which to save the key (C:\Users\Dell/.ssh/id_rsa)
,在命名文件名步骤是不需要重命名,直接确认就好- 无需配置
config
文件