通過設(shè)置ssh怎么無密碼登錄linux服務(wù)器?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、綏化網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、綏化網(wǎng)絡(luò)營銷、綏化企業(yè)策劃、綏化品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供綏化建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
rsa認(rèn)證登錄方式
制作密鑰對
在客戶端(本地機(jī)器)終端下輸入以下命令
ssh-keygen -t [rsa|dsa]
rsa和dsa代表不同的算法
例如:
ssh-keygen -t rsa
一直回車就對了(不用設(shè)置密碼)
將會生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub(如果用dsa則生成id_dsa,id_dsa.pub)
生成位置在/root/.ssh/文件夾下(我用的是root用戶所以在root下,生成過程會有提示文件位置)
.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的版本和使用的用戶不同會有差別的。
如果出現(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
看完上述內(nèi)容,你們掌握通過設(shè)置ssh怎么無密碼登錄linux服務(wù)器的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!