設(shè)置ssh無密碼登錄linux服務(wù)器的方法
每次登錄測試服務(wù)器,ssh登錄總是需要輸入密碼。登錄的少還行,登錄的多了,多一行命令都是多余的。
rsa認(rèn)證登錄方式
制作密鑰對
在客戶端(本地機(jī)器)終端下輸入以下命令
ssh-keygen -t [rsa|dsa]
rsa和dsa代表不同的算法
例如:
ssh-keygen -t rsa
一直回車就對了(不用設(shè)置密碼)
將會(huì)生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub(如果用dsa則生成id_dsa,id_dsa.pub)
生成位置在/root/.ssh/文件夾下(我用的是root用戶所以在root下,生成過程會(huì)有提示文件位置)
.ssh 是隱藏文件夾 使用 ls -a查看
將公鑰放到服務(wù)器指定位置
方法一、直接復(fù)制
1、將公鑰復(fù)制到服務(wù)器的root用戶下的.ssh文件夾(用哪個(gè)用戶登錄就復(fù)制到哪個(gè)用戶下的.ssh文件夾下)
scp /root/.ssh/id_rsa.pub root@172.16.0.164:/root/.ssh/
2、安裝公鑰
登錄到服務(wù)器cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
方法二、使用ssh-copy-id命令復(fù)制(推薦)
一個(gè)命令直接就ok了
ssh-copy-id root@172.16.0.164
驗(yàn)證
不用輸入密碼則成功,否則失敗
ssh root@172.16.0.164
注意事項(xiàng)
上面操作測試過是沒有問題的
linux的版本和使用的用戶不同會(huì)有差別的。
如果出現(xiàn)問題可以考慮以下兩點(diǎn)
1、id_rsa.pub和authorized_keys的文件權(quán)限問題
chmod 600 authorized_keys chmod 700 ~/.ssh
2、ssh的配置文件
vim /etc/ssh/sshd_config #啟用 RSA 認(rèn)證,默認(rèn)為yes RSAAuthentication yes 啟用公鑰認(rèn)證,默認(rèn)為yes PubkeyAuthentication yes #root用戶ssh登錄 PermitRootLogin yes
(這些配置我都是沒有修改的,我的是redhat7.2)
自定義寫個(gè)簡單shell腳本
在常用文件夾下創(chuàng)建個(gè)文件
touch 164.sh
編輯文件
文件內(nèi)容 ssh root@172.16.0.164
vim 164.sh #添加內(nèi)容 ssh root@172.16.0.164 保存退出 :wq
增加用戶的執(zhí)行權(quán)限
chmod u+x 164.sh
搞定 結(jié)合tab鍵使用更爽喲
./164.sh
expect命令免密登錄方式
可能你覺得需要操作服務(wù)器系統(tǒng)不好,當(dāng)然也可以只在本地操作。
使用expect命令只需要本地操作,前提是你本地有expect這個(gè)命令
1、創(chuàng)建一個(gè)文件
touch expectssh.sh
添加下面內(nèi)容,將用戶 、ip、密碼修改成你自己的
#!/usr/bin/expect -f set username root set hostname 172.16.0.164 set password 123456 spawn ssh $username@$hostname set timeout 1 expect { "yes/no" {send "yes\r";exp_continue} } expect "$username@$hostname's password:" send "$password\r" interact
2、添加expectssh.sh執(zhí)行權(quán)限
chmod u+x expectssh.sh
3、執(zhí)行命令
expect expectssh.sh
(1、必須使用 expect 命令執(zhí)行2、你可以再包一層 使用bash解析去執(zhí)行)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
centos7下安裝并配置supervisor守護(hù)程序的操作方法
這篇文章主要介紹了centos7下安裝并配置supervisor守護(hù)程序的操作方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10linux最快的文本搜索神器ripgrep(grep的最好代替者)
這篇文章主要介紹了linux最快的文本搜索神器ripgrep(grep的最好代替者),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Centos8使用Squid配置代理服務(wù)器的詳細(xì)過程
這篇文章主要介紹了Centos8使用Squid配置簡單的代理服務(wù)器,安裝過程中需要?jiǎng)?chuàng)建新賬戶并將其設(shè)置為管理賬戶,設(shè)置網(wǎng)絡(luò)連接,簡單的配置過程跟隨小編一起看看吧2022-01-01Linux 在Shell腳本中使用函數(shù)實(shí)例詳解
這篇文章主要介紹了Linux 在Shell腳本中使用函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06在CentOS 7下使用yum配置MySQL源并安裝MySQL
這篇文章主要介紹了CentOS 7.0下使用yum安裝mysql的方法詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11Ubuntu18.04 一鍵升級Python所有第三方包 及安裝python包的方法
pip 是 Python 包管理工具,該工具提供了對Python 包的查找、下載、安裝、卸載的功能。這篇文章給大家介紹Ubuntu18.04 一鍵升級Python所有第三方包 ,感興趣的朋友一起看看吧2019-10-10