linux 安装ssh以及ssh用法与批量免密

一、配置yum和hosts文件

配置hosts文件:

命令:vi /etc/hosts

在文件尾部添加

192.168.1.106 linux1
192.168.1.107 linux2
192.168.1.108 linux3
192.168.1.109 linux4

二、什么是ssh

  • 管理员可以通过远程登陆的方式,对通过网相连的分散于各处的多台主机进行管理操作。
  • 管理员可以对远程主机进行如下操作:
    • 远程登陆
    • 远程命令执行
    • 远程文件传输
  • 遗憾的事情是:这些操作不安全!
  • 使用纯文本口令,并用明文发送
    • 信息可能会被截取,口令可能会被检索
    • 未经授权的人员使用截取的口令登陆系统而对系统造成危害

SSH的目标

  • 在不安全的网络上提供安全的网络服务。

    三、安装命令

      使用yum:  yum  install -y openssh-server openssh-clients

    ubuntu下:sudo apt-get install openssh-server openssh-clients

      启动ssh:service sshd start 或 /etc/init.d/sshd start

      配置开机启动:chkconfig --level 2345 sshd on

    四、ssh免密登录

    ssh-keygen的命令手册,通过”man ssh-keygen“命令:

    1.生成秘钥

    ssh-keygen -t rsa

 

 生成之后会在用户的根目录生成一个 “.ssh”的文件夹

 

 进入“.ssh”会生成以下几个文件

 

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥

id_rsa : 生成的私钥文件

id_rsa.pub : 生成的公钥文件

know_hosts : 已知的主机公钥清单

    如果希望ssh公钥生效需满足至少下面两个条件:

1) .ssh目录的权限必须是700 

2) .ssh/authorized_keys文件权限必须是600

2.免密登录方法

2.1 通过ssh-copy-id的方式

    命令: ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<remote_ip>

    如果当前用户的username与目标用户相同,"<username>@"可省略

 

2.2 通过scp将内容写到对方的文件中

命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

五、ssh用法

1.ssh登录另一台linux

ssh [ip/hosts]

 

退出登录:exit

2.复制文件

  语法:scp  要复制的文件名(相对或绝对路径) 要复制到的那一台机器的ip:/path

 

3.复制文件夹

  语法:scp  –r 文件夹 username@ip/hosts:/path 

 

六、ssh批量做免密登录

步骤一:因为在免密配置时,首先要拷贝密钥文件到各个目标主机,需要输入目标主机的ip,用户名,密码,以及确认一个yes/no,这些繁琐而重复的工作,当然要自动完成

安装expect可以当屏幕出现相应提示时,自动帮我们输入相应的字符。

当出现yes/no选择时,自动输入yes并继续

当出现password提示时,自动输入各个主机的密码并继续

步骤二:准备好主机信息的文件,这里每行分别输入主机ip,用户名,密码,当然也可以自动生成。 步骤三:编写自动化配置脚本

 #!/bin/bash

while read host;do

        ip=`echo $host | cut -d " " -f1`

        username=`echo $host | cut -d " " -f2`

        password=`echo $host | cut -d " " -f3`

expect <<EOF

        spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $username@$ip

        expect {

                "yes/no" {send "yes\n";exp_continue}

                "password" {send "$password\n"}

        }

        expect eof

EOF

done < /root/host.txt

 步骤四:赋权并执行脚本

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值