通过 ssh 密钥对登录到 Linux 主机
创建密钥对
如果先前已经创建过则可以跳过。
在客户端设备上运行ssh-keygen
即可创建密钥对,会要求用户回答一些问题。对于Windows设备,密钥对通常位于C:\Users\<UserName>\.ssh
;对于Linux设备,密钥对通常位于~/.ssh
文件夹下。
可选参数:
-b
:指定密钥的二进制位数,位数越高,破解难度越高,默认值为1024。调高该值会增加加密解密的性能开销,一般默认值就够用,如果需要更高的安全性可以调整为2048。-C
:注释,格式为username@host
。-f
:指定密钥生成位置。-t
:指定算法。
要求用户回答的问题:
1 | Generating public/private dsa key pair. |
发送公钥到目标主机
用文本编辑工具打开刚才创建的公钥,一般只有一行数据,将该行数据复制出来。
打开目标主机的
~/.ssh/authorized_keys
文件,每行一个公钥写入该文件。
WinSCP如何连接
新建连接,协议选择scp,填写主机名/端口/用户名,密码留空,保存。
左侧点击
工具
,运行Puttygen
,Load
,打开私钥文件,如有密码需要输入密码,再点击Save Private Key
,将生成的ppk文件保存。编辑需要的连接条目,高级,验证,密钥文件选择刚才创建的ppk文件,确定,保存即可连接。
禁用ssh密码登录
在sshd配置文件中添加PasswordAuthentication no
即可。