Windows ssh免密登陆Linux配置过程

ssh免密登陆Linux

1、生成公钥和私钥

公钥私钥理论上可以在服务器生成,也可以在Client端生成,以下为在Windows端生成,Windows系统为Client端。服务器端采用Centos8。

ssh-keygen -t rsa 

不指定文件名,生成两个文件,id_rsa和id_rsa.pub
id_rsa为私钥
id_rsa.pub为公钥

2、上传公钥

将id_rsa.pub上传到Linux服务器
通过命令:

cat id_rsa.pub >> authorized_keys

加载到authorized_keys文件中。
authorized_keys文件默认在/root/.ssh目录下。

编辑/etc/ssh/sshd_config文件

vi /etc/ssh/sshd_config
PermitRootLogin yes
PermitEmptyPasswords yes
PasswordAuthentication yes

保存后,重启ssh服务

systemctl restart sshd.service

3、客户端ssh命令行连接服务器

ssh -i id_rsa root@server-ip

4、通过SecureCRT连接Linux

点Option->Session Options
在Connetion下SSH2配置项下
Authentication下,勾选PublicKey,点右边的Properties;
在弹出的Public Key Properties中,根据需要选择当前会话或全局会话(作用域不同)如只用于连接特定服务器;
选择Use session public key setting
Session settings选Use identity or certificate file,输入id_rsa路径,或通过文件选择框选中刚刚生成的私钥。
点OK退出Public Key Properties。

完善Session Options其它设置,如Hostname(填服务器IP)、Port(ssh默认22)、Firewall(None)、Username(Linux服务器用户名,本例为root)。点OK保存。
至此可免密通过SecureCRT连接Linux。

5、小插曲

在centos8上,通过命令ssh-keygen -t rsa生成的私钥,在SecureCRT提示无法找到对应的公钥(public key)。经过一番折腾,发现Centos8不加-b(私钥位数,有文档说64的倍数,有说1024的位数),默认生成的是3072位的密钥,而本机的SecureCRT只支持512到2048位的密钥。
在Centos8下用如下命令:

ssh-keygen -b 2048 -t rsa -f test_rsa

生成的私钥在SecureCRT上导入成功。

ssh-keygen参考:https://www.cnblogs.com/zhengah/p/4959725.html
sshd参考:https://blog.csdn.net/hddddk/article/details/83142399

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值