SSH免密免用戶名登錄


創建公鑰私鑰

ssh-keygen -t rsa 

無視它出來的任何提示,歡快的一路回車到底吧~

方法一:把公鑰復制到遠程主機

可以采用命令復制,也可以手動把公鑰復制過去。

把公鑰id_rsa.pub復制到遠程機器的 /home/username/.ssh目錄並命名為authorized_keys。

# 方法1, os x 可以通過 `brew install ssh-copy-id` 安裝
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

# 方法2 
cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys" 
ssh-copy-id -i ~/.ssh/id_rsa.pub lls1@master
ssh-copy-id -i ~/.ssh/id_rsa.pub lls2@slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub lls3@slave2

// 如果本機登陸用戶的用戶名 和 要配置免密遠程登陸用戶的用戶名一致的話,可以使用下面的命令,復制到對應機器的用戶目錄下
ssh-copy-id -i ~/.ssh/id_rsa.pub master
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2

多台遠程主機就多次復制~ 如果你本機登陸用戶和遠程登陸用戶一致的話,就可以直接 ssh hostname 直接登陸,下面就不用看了。

方法二:解決本地登陸用戶名與遠程登陸用戶名不一致

同樣是生成公鑰和私鑰

# 使用以下命令 一路回車即可
$ ssh-keygen -t rsa

在.ssh/config進行修改配置遠程登錄主機的信息

# 為.ssh目錄下的config設置權限
$ chmod 600 ~/.ssh/config

修改本地登陸用戶的 ~/.ssh/config 文件,如果沒有的話就自個兒建一個吧,內容如下:

Host work1
    HostName 121.0.0.3
    User root
    Port 22

Host work2
    HostName 121.0.0.4
    User root
    Port 22
# 將密鑰copy到work1,需要輸入work1的登陸密碼(此登陸密碼為config重配置的user(work1、2用戶的登錄密碼)密碼)
# work2相同
$ ssh-copy-id -i ~/.ssh/id_rsa.pub  work1

# 成功后會有如下提示
Now try logging into the machine, with:   "ssh 'work1'"
and check to make sure that only the key(s) you wanted were added.

#現在使用如下即可登陸work1(其他主機方法一樣)
$ ssh work1

這樣,本地和遠程登陸用戶名不一致也可以 ssh hostname 登陸了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM