【转】使用ssh-copy-id 快速的配置免密登录
生活随笔
收集整理的這篇文章主要介紹了
【转】使用ssh-copy-id 快速的配置免密登录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、在需要免密登錄其他機器的主機上 生成公鑰,私鑰等。
ssh-keygen -t rsa 回車回車回車 哪個用戶登錄就在哪個用戶目錄的.ssh目錄下生成。2、將以下命令做成腳本,因為環境不能下載,直接將ssh-copy-id 命令的腳本copy了。(創建ssh-copy-id.sh文件,將下面命令添加上去)
#!/bin/sh# Shell script to install your public key on a remote machine # Takes the remote machine name as an argument. # Obviously, the remote machine must accept password authentication, # or one of the other keys in your ssh-agent, for this to work.ID_FILE="${HOME}/.ssh/id_rsa.pub"if [ "-i" = "$1" ]; thenshift# check if we have 2 parameters left, if so the first is the new ID fileif [ -n "$2" ]; thenif expr "$1" : ".*\.pub" > /dev/null ; thenID_FILE="$1"elseID_FILE="$1.pub"fishift # and this should leave $1 as the target namefi elseif [ x$SSH_AUTH_SOCK != x ] ; thenGET_ID="$GET_ID ssh-add -L"fi fiif [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; thenGET_ID="cat ${ID_FILE}" fiif [ -z "`eval $GET_ID`" ]; thenecho "$0: ERROR: No identities found" >&2exit 1 fiif [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; thenecho "Usage: $0 [-i [identity_file]] [user@]machine" >&2exit 1 fi{ 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 1cat <<EOF Now try logging into the machine, with "ssh '$1'", and check in:.ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.EOF3、使用做的腳本執行以下命令即可。
./ssh-copy-id.sh -i ~/.ssh/id_rsa.pub imcd@10.131.117.144
4、測試 ssh imcd@10.131.117.144 OK
5、配置hosts 設置別名。
轉自:?https://segmentfault.com/a/1190000012862011?utm_source=tag-newest
轉載于:https://www.cnblogs.com/shuai7boy/p/11126930.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【转】使用ssh-copy-id 快速的配置免密登录的全部內容,希望文章能夠幫你解決所遇到的問題。