服务器sshd配置(默认也是开启的)
# vim /etc/ssh/sshd_conf
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# /etc/init.d/sshd restart
windows生成密钥
Xshell
打开Xshell->工具->新建用户密钥生成向导(W)
RSA加密方式,2048位密钥长度->输入公钥名称(wangs_rsa),密钥密码,下一步
公钥格式(ssh2-openssh)->保存文件,将公钥保存到本地->完成
这是会弹出会话框,里面有你刚刚生成的私钥(与密钥名称相同),选中私钥,点击导出,将私钥导出到本地
现在,本地就有一对对应公钥和私钥了(wangs_rsa和wangs_rsa.pub)
windows下登录
xshell登录
将公钥id_rsa.pub上传到目标服务器用户下.ssh目录
如果没有可以新建,注意权限
# mkdir .ssh
# chmod 700 .ssh
# cat id_rsa.pub >> authorized_keys
# chmod 600 authorized_keys
新建登录,输入用户名后,SSH身份验证时选择public key,选择刚刚生成的私钥,如果私钥设置密码,输入密码,否则可即可登录
linux 密钥生成
ssh-keygen -t rsa -C "[email protected]"
一路回车,根据提示,可以设置名称添加密码等,最后生成一对私钥和公钥
参数详解:
-t: 密钥类型, 可以选择 dsa | ecdsa | ed25519 | rsa;
-f: 指定密钥位置和名称
-C: 指定此密钥的备注信息, 需要配置多个免密登录时, 建议携带;
-N: 指定此密钥对的密码, 如果指定此参数, 则命令执行过程中就不会出现交互确认密码的信息了.
linux登录
方法1:
在密钥生成的机器上
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh [email protected]
方法2:
将公钥id_rsa.pub上传到目标服务器用户下.ssh目录
如果没有可以新建,注意权限
# mkdir .ssh
# chmod 700 .ssh
# cat id_rsa.pub >> authorized_keys
# chmod 600 authorized_keys
登录
# ssh [email protected]
注意
私钥一般在.ssh下,权限为700
如果无法登录,参照如下命
# ssh-agent bash --login -i
# ssh-add id_rsa
PS:
首次进行ssh链接时,出现以下提示:
The authenticity of host '58.221.186.137 (58.221.186.137)' can't be established. RSA key fingerprint is a0:00:d3:33:54:96:40:03:ff:ad:15:a9:59:22:f4:2a.
Are you sure you want to continue connecting (yes/no)?
修改文件:
#vim /etc/ssh/ssh_config
修改如下
StrictHostKeyChecking no