centos免密码登录SSH

2 篇文章 0 订阅

ssh-keygen创建公钥-私钥对

ssh-keygen -t rsa  然后一路回车,

ll  ~/.ssh/

-rw-------. 1 root root  id_rsa

-rw-r--r--. 1 root root  id_rsa.pub

在home目录下创建了隐藏目录.ssh和私钥id_rsa和公钥id_rsa.pub文件

 

也可以增加一些定义来创建

ssh-keygen -t rsa  -f  ~/.ssh/key-id_rsa  -P  'passwd'  -C 'zhangsan  2020-1-1'

 

-t: 密钥类型, 可以选择 dsa | ecdsa | ed25519 | rsa 

-f: 定义密钥目录位置/文件名, 默认为当前用户home下.ssh隐藏目录,默认密钥文件名以id_rsa开头。         

-P  -P  '' 表示空密码,添加了密码,即使私钥被盗也无法使用,加了-P参数还免回车几次。

-C: 为此公钥添加指定注释, 如配置多个免密登录时, 公钥附带了注释就方便多了(于公钥密钥字符串后面)

 

配置密钥授权文件

将公钥放入指定目录文件authorized_keys中
cat  ~/.ssh/id_rsa.pub  >  ~/.ssh/authorized_keys

调整文件夹和文件的权限

chmod 700  ~/.ssh

chmod 600  ~/.ssh/authorized_keys

1. 不要图省事设置成777权限,数字签名不支持这种权限策略。

2.  .ssh目录和密钥文件拥有者必须为该被远程的用户/组。

 

ssh客户端使用私钥登录

centos 与centos之间的密钥登录


1.  ssh-copy-id命令把本机A上的公钥文件安装应用到远程主机B对应账户下~/.ssh/authorized_keys(实际采用>>追加方式)

当然,你也可手动方式将ssh公钥应用到主机B的authorized_keys,但需加设置好.ssh目录的700和authorized_keys的600权限,

ssh-copy-id -i  ~/.ssh/id_rsa.pub  -p  22  root@192.168.66.101  

2.  测试SSH免密码登录

ssh  root@192.168.66.101  ip  a 

3. 注意: 

-----使用ssh-copy-id -i远程应用时,私钥和公钥必须在同一目录,并文件重命名仅仅区别后缀。
-----远程登录时实际会使用默认的~/.ssh/id_rsa 这私钥去登录主机B,权限必须是600;如私钥已经重命名或移动路径,需强制指定私钥文件去登录。

      ssh  -i   /root/key-id_rsa  root@192.168.66.101

-----如需互相登录,需双方都要存在该公钥的私钥文件。

-----centos 之间登录,并不支持带有-P密钥应用密码的。

-----ssh会把访问过产生host key记录到~/.ssh/known_hosts,每次连线时都会检查对方给的 host key 与纪录的 host key 是否相同,可以作为简单验证连结。如果不同,OpenSSH会发出警告。必要时手动删除或ssh-keygen -R 192.168.66.101清理该主机记录

 

Putty使用密钥登录SSH

1. ssh-keygen -t rsa方式生成的私钥,putty无法直接使用,需转换:

使用putty另一个组件公钥私钥生成工具puttygen.exe 
运行puttygen.exe > Conversions >Import key导入证书> Save private key导出私钥,得到一个后缀名为.ppk的私钥保存为192.168.66.101_rsa.ppk

2.  设置putty通过秘钥登录
   运行putty.exe在登录会话先输入远程主机ip地址端口等,

再点击选择私钥
Connection  >  SSH  >  Auth  >  Browse选择私钥文件 > 

点击open登录,然后要求填写对应的账户名即可,如登录失败,在远程主机查看日志,tail  /var/log/secure

 

SecureCRT使用密钥登录SSH

1.   ssh-keygen -t rsa方式生成的私钥,SecureCRT也是无法直接使用,需转换:
    工具 > 转换私钥为0penSSH格式 > 选择下载的私钥192.168.66.101_rsa然后保存转换后的私钥和公钥。

2.  设置SecureCRT通过秘钥登录
在创建连接时,取消“密码”的勾,选中“公钥”再点击属性。

选择“使用会话公钥设置”再浏览选择私钥文件

点击连接即可

puttygen和SecureCRT也可以创建公钥私钥

1. puttygen创建公钥私钥,并部署
 1.1  运行puttygen.exe > Generate 创建
(鼠标在空白区域晃动增加随机性,否则进度不动)

生成完毕后,可选给私钥设置密码,复制公钥字符串到主机authorized_keys文件中,私钥必须保存下来;

1.2 登录linux在账户家目录创建权限为700的.ssh和权限为600的authorized_keys,
mkdir  ~/.ssh/
chmod  700  ~/.ssh/
vi  ~/.ssh/authorized_keys    将生成的公钥字符串复制到authorized_keys文件中)
chmod  600  ~/.ssh/authorized_keys
以上部署完毕,保存的私钥可直接使用putty登录了,
(如登录失败查看日志/var/log/secure,如提示文件权限,那就删除.ssh目录,先ssh-keygen方式创建目录,再将puttygen的公钥字符编辑到authorized_keys)

2.  SecureCRT创建公钥私钥

2.1 运行SecureCRT,工具 > 创建公钥 > 选择密码类型RSA > 通行短语=密码可选输入>选择“openSSH密钥格式”保存,
部署方式按以上putty的即可。

 

puttygen和SecureCRT的私钥互转

puttygen和SecureCRT各自创建私钥不能直接互用,需转换,
putty使用SecureCRT的,只是按上面转换ssh-keygen私钥方式即可。
SecureCRT使用putty的,
运行puttygen.exe > Conversions > Import key导入证书 > 导出私钥“Export OpenSSH key”

禁止口令验证,改用只能通过密钥登录

vi /etc/ssh/sshd_config 找到PasswordAuthentication 改为 no
PasswordAuthentication no
重启sshd服务
service sshd restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值