sshpass工具+ssh登录方式

自动登录 ssh工具 sshpass

一般用在sh脚本中,无须再次输入密码(本机known_hosts文件中有的主机才能生效)。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

yum install sshpass

 常用:

-p  明文              
      # sshpass -p 123456 ssh 10.0.0.161 hostname -I

 

-f   文件中读取密码
   # sshpass -f pwd.txt ssh 10.0.0.161 hostname -I

 

-e    环境变量读取
# export SSHPASS=123456
# sshpass -e ssh 10.0.0.161 hostname -I


ssh登录验证方式   :用户/口令的方式验证和基于密钥的

 

一:1. 客户端发起ssh请求,服务器会把自己的公钥发送给用户
2. 用户会根据服务器发来的公钥对密码进行加密
3. 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功


1. 首先在客户端生成一对密钥(ssh-keygen)
2. 并将客户端的公钥ssh-copy-id 拷贝到服务端
3. 当客户端再次发送一个连接请求,包括ip、用户名
4. 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生
成一个字符串,例如:magedu
5. 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端
6. 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端
7. 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录


 实现基于密钥的登录方式

在客户端生成密钥对 ssh-keygen -t rsa [-P 'password'] [-f “~/.ssh/id_rsa"]

查看:#ls .ssh/
创建 #ssh-keygen
 
把公钥传输至远程服务器对应用户的家目录 ssh-copy-id [-i [identity_file]] [user@]host

查看目标机
#ll .ssh/
#将本机公钥上传给远程主机
# ssh-copy-id root@10.0.0.161
#再次查看目标主机,

测试免密码登录# ssh root@10.0.0.161


********:EG:{实际上是多个主机有共同的文件(公钥 id_rsa  id_rsa.pub)}
多机互相打通
#ls .ssh/
# ssh-keygen

# ls .ssh/
{id_rsa id_rsa.pub}

将公钥复制到本机
#ssh-copy-id 127.1
 查看# ls .ssh/

将ssh目录下整体复制到其他主机,表示多机公用密钥对
#rsync -a .ssh 10.0.0.157:/root/
#rsync -a .ssh 10.0.0.154:/root/

windows客户端工具 xshell 也可以配置公钥远程连接


ssh服务器配置

# cat /etc/ssh/sshd_config(修改)

eg:
#10s如果没有互动,则断开链接,永久生效可以写配置文件,例如可以写在 /etc/profile 里

# export TMOUT=10

关闭dns解析选项,加快连接速度
# vim /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no
# systemctl restart sshd

在ubuntu 上开启root远程登录
vim /etc/ssh/sshd_config
#PermitRootLogin prohibit-password

总结:

ssh 服务的最佳实践
1. 建议使用非默认端口
2. 禁止使用protocol version 1
3. 限制可登录用户
4. 设定空闲会话超时时长
5. 利用防火墙设置ssh访问策略
6. 仅监听特定的IP地址
7. 基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_ < /dev/urandom | head -c 12| 
xargs
8. 使用基于密钥的认证
9. 禁止使用空密码
10. 禁止root用户直接登录
11. 限制ssh的访问频度和并发在线数
12. 经常分析日

谢谢观看


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值