使用秘钥远程登录

使用ssh公共密钥身份验证连接到远程系统是一种健壮,安全的替代使用帐户密码或密码登录方法。ssh公钥认证依赖于生成一对单独的密钥(即密钥对),一个“私有”和另一个“公共”的非对称密码算法。将私钥保密并将其存储在用来连接远程系统的计算机上。公钥保存在需要远程登陆的服务器上,~/.ssh/authorized_keys文件里。

公钥和私钥的生成
语法

ssh-keygen (选项)
选项
-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件;
-C:添加注释;
-f:指定用来保存密钥的文件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。
ssh-keygen -t rsa -P 123456 -f host -C 'my host key'

意思就是新建了密码为123456,注释为my host key,文件名为host,的密钥。此命令会生成host和host.pub两个文件,前者为私钥文件,后者为公钥文件。如果想免密登录的话,请将密语设置为空。

远程服务器设置

公钥内容复制到 ~/.ssh/authorized_keys文件
保存后,对.ssh目录和其中的authorized_keys公钥文件设置相应的权限:

chmod -R 0700 ~/.ssh
chmod -R 0644 ~/.ssh/authorized_keys
ssh的公钥认证配置文件修改:
修改vi /etc/ssh/sshd_config 文件
RSAAuthentication yes        # 启用 RSA 认证
PubkeyAuthentication yes     # 启用公钥认证
StrictModes no   #修改为no,如果不修改用key登陆是出现server refused our key(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的

PS: 密钥登录后可以选择设置 PasswordAuthentication no
禁止密码认证(改为no,默认为yes是用密码认证)
“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为经常会把自己的目录和文件设成任何人都有写权限。

最后重启sshd服务
systemctl restart sshd.service

登录

windows下

可以以使用xftp xshell等工具,直接导入刚才保存的私钥登录。
但是使用putty登录时候还要特别设置,putty不能使用openssh生成的密钥

下载运行PuTTYGen,在Conversions菜单中点击Import key,选择ssh-keygen生成的私钥文件所在位置,比如id_rsa文件。点击Save private key按钮,将其保存为.ppk文件。打开Pageant,点击Add Key,选择前一步所保存的.ppk文件所在的位置即可。

Linux下使用

把秘钥保存在指定文件夹或者.ssh/目录下,然后打开终端直接使用ssh命令登录

[格式] ssh -i 秘钥路径 远程用户名@ip -p 端口号
sudo ssh -i ~/.ssh/liyddsshkey developer@192.168.1.237 -p 23
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值