Linux命令ssh-copy-id (r10笔记第21天)

在N多年前,搭建Oracle RAC环境的时候,其中有一项非常艰巨的任务就是配置节点服务器的互信关系,每次到了这个部分的时候就有点晕,因为文件需要在两个节点间拷过来,拷过去。 每次到了这个部分,就需要打开我的攻略笔记,然后严格按照上面的步骤来完成。到了OCM考试的时候,当时Oracle是提供了一个建立互信关系的脚本,直 接运行即可。搭建的过程省事不少。到了11g的RAC搭建中,在检查项中有一个就是建立互信关系,只需要在界面上点击即可完成。可见互信关系的建立过程是 越来越简化了。

  1. #!/bin/sh

  2.     # Shell script to install your public key on a remote machine

  3.     # Takes the remote machine name as an argument.

  4.     # Obviously, the remote machine must accept password authentication,

  5.     # or one of the other keys in your ssh-agent, for this to work.

  6.     ID_FILE="${HOME}/.ssh/id_rsa.pub"

  7.     if [ "-i" = "$1" ]; then

  8.       shift

  9.       # check if we have 2 parameters left, if so the first is the new ID file

  10.       if [ -n "$2" ]; then

  11.         if expr "$1" : ".*\.pub" > /dev/null ; then

  12.           ID_FILE="$1"

  13.         else

  14.           ID_FILE="$1.pub"

  15.         fi

  16.         shift # and this should leave $1 as the target name

  17.       fi

  18.     else

  19.       if [ x$SSH_AUTH_SOCK != x ] ; then

  20.         GET_ID="$GET_ID ssh-add -L"

  21.       fi

  22.     fi

  23.     if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then

  24.       GET_ID="cat ${ID_FILE}"

  25.     fi

  26.     if [ -z "`eval $GET_ID`" ]; then

  27.       echo "$0: ERROR: No identities found" >&2

  28.       exit 1

  29.     fi

  30.     if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then

  31.       echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2

  32.       exit 1

  33.     fi

  34.     { eval "$GET_ID" ; } | ssh $1 "umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon ~/.ssh ~/.ssh/authorized_keys >/dev/null 2>&1 || true)" || exit 1

  35.     cat <<EOF

  36.     Now try logging into the machine, with "ssh '$1'", and check in:

  37.       .ssh/authorized_keys

  38.     to make sure we haven't added extra keys that you weren't expecting.

  39.     EOF

其实看完之后,发现里面确实有不少的内容,命令格式,新的命令都值得学习。

restorecon命令用来恢复SELinux文件属性即恢复文件的安全上下文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jeanron100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值