国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

    Linux下實現(xiàn)免密碼登錄方法是什么

    時間: 加城1195 分享

      Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。有用戶問到如何實現(xiàn)免密登錄,這篇文章主要介紹了Linux下實現(xiàn)免密碼登錄的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧

      1.Linux下生成密鑰

      ssh-keygen的命令手冊,通過”man ssh-keygen“命令:

      通過命令”ssh-keygen -t rsa“

      生成之后會在用戶的根目錄生成一個 “.ssh”的文件夾

      進入“.ssh”會生成以下幾個文件

      authorized_keys:存放遠(yuǎn)程免密登錄的公鑰,主要通過這個文件記錄多臺機器的公鑰

      id_rsa : 生成的私鑰文件

      id_rsa.pub : 生成的公鑰文件

      know_hosts : 已知的主機公鑰清單

      如果希望ssh公鑰生效需滿足至少下面兩個條件:

      1) .ssh目錄的權(quán)限必須是700

      2) .ssh/authorized_keys文件權(quán)限必須是600

      2.遠(yuǎn)程免密登錄

      常用以下幾種方法:

      2.1 通過ssh-copy-id的方式

      命令: ssh-copy-id -i ~/.ssh/id_rsa.put

      舉例:

      [root@test .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135

      root@192.168.91.135's password:

      Now try logging into the machine, with "ssh '192.168.91.135'", and check in:

      .ssh/authorized_keys

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

      [root@test .ssh]# ssh root@192.168.91.135

      Last login: Mon Oct 10 01:25:49 2016 from 192.168.91.133

      [root@localhost ~]#

      常見錯誤:

      [root@test ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135

      -bash: ssh-copy-id: command not found //提示命令不存在

      解決辦法:yum -y install openssh-clients

      2.2 通過scp將內(nèi)容寫到對方的文件中

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

      舉例:

      [root@test .ssh]# scp -p ~/.ssh/id_rsa.pub root@192.168.91.135:/root/.ssh/authorized_keys

      root@192.168.91.135's password:

      id_rsa.pub 100% 408 0.4KB/s 00:00

      [root@test .ssh]#

      [root@test .ssh]#

      [root@test .ssh]#

      [root@test .ssh]# ssh root@192.168.91.135

      Last login: Mon Oct 10 01:27:02 2016 from 192.168.91.133

      [root@localhost ~]#

      也可以分為兩步操作:

      $ scp ~/.ssh/id_rsa.pub root@:pub_key //將文件拷貝至遠(yuǎn)程服務(wù)器

      $ cat ~/pub_key >>~/.ssh/authorized_keys //將內(nèi)容追加到authorized_keys文件中, 不過要登錄遠(yuǎn)程服務(wù)器來執(zhí)行這條命令

      2.3 通過Ansible實現(xiàn)批量免密

      2.3.1 將需要做免密操作的機器hosts添加到/etc/ansible/hosts下:

      [Avoid close]

      192.168.91.132

      192.168.91.133

      192.168.91.134

      2.3.2 執(zhí)行命令進行免密操作

      ansible -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k

      示例:

      [root@test sshpass-1.05]# ansible test -m authorized_key -a "user=root key='{{ lookup('file','/root/.ssh/id_rsa.pub') }}'" -k

      SSH password: ----->輸入密碼

      192.168.91.135 | success >> {

      "changed": true,

      "key": "ssh-rsa    AAAAB3NzaC1yc2EAAAABIwAAAQEArZI4kxlYuw7j1nt5ueIpTPWfGBJoZ8Mb02OJHR8yGW7A3izwT3/uhkK7RkaGavBbAlprp5bxp3i0TyNxa/apBQG5NiqhYO8YCuiGYGsQAGwZCBlNLF3gq1/18B6FV5moE/8yTbFA4dBQahdtVP PejLlSAbb5ZoGK8AtLlcRq49IENoXB99tnFVn3gMM0aX24ido1ZF9RfRWzfYF7bVsLsrIiMPmVNe5KaGL9kZ0svzoZ708yjWQQCEYWp0m+sODbtGPC34HMGAHjFlsC/SJffLuT/ug/hhCJUYeExHIkJF8OyvfC6DeF7ArI6zdKER7D8M0SM  WQmpKUltj2nltuv3w== root@localhost.localdomain",

      "key_options": null,

      "keyfile": "/root/.ssh/authorized_keys",

      "manage_dir": true,

      "path": null,

      "state": "present",

      "unique": false,

      "user": "root"

      }

      [root@test sshpass-1.05]#

      2.4 手工復(fù)制粘貼的方式

      將本地id_rsa.pub文件的內(nèi)容拷貝至遠(yuǎn)程服務(wù)器的~/.ssh/authorized_keys文件中

      補充:Linux基本命令

     ?、賚s 意為list 列出當(dāng)前文件夾中的文件

      -l 顯示文件的屬性 可用ll來表示

     ?、赼lias 別名 看看是否有別名的文件

     ?、踓d dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑

      ④pwd 查看當(dāng)前工作的文件夾名 使用-P的選項,會直接進入到其中,相當(dāng)于cd

      相關(guān)閱讀:Linuxshell腳本不執(zhí)行問題實例分析

      shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報錯。我看了下,腳本很簡單,也沒有常規(guī)性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯。看這錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:

      1)重新在linux下編寫腳本;

      2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問題。


    Linux免密登錄相關(guān)文章:

    1.詳解CISCO路由密碼設(shè)置與SSH登錄設(shè)置

    2.Linux的Ubuntu操作系統(tǒng)的安裝教程

    3.關(guān)于Linux下SSH Session復(fù)制功能實現(xiàn)的方法

    4.Linux常用權(quán)限有哪些s權(quán)限和t權(quán)限區(qū)別

    5.如何排查Linux服務(wù)器上的惡意發(fā)包行為

    4016695