三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

设置ssh无密码登录linux服务器的方法

美国、香港服务器

设置ssh无密码登录linux服务器的方法

12-18   来源:

 每次登录测试服务器,ssh登录总是需要输入密码。登录的少还行,登录的多了,多一行命令都是多余的。


rsa认证登录方式


制作密钥对


在客户端(本地机器)终端下输入以下命令


ssh-keygen -t [rsa|dsa]


rsa和dsa代表不同的算法


例如:

ssh-keygen -t rsa

一直回车就对了(不用设置密码)


将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub(如果用dsa则生成id_dsa,id_dsa.pub)

生成位置在/root/.ssh/文件夹下(我用的是root用户所以在root下,生成过程会有提示文件位置)

.ssh 是隐藏文件夹 使用 ls -a查看

将公钥放到服务器指定位置

方法一、直接复制


1、将公钥复制到服务器的root用户下的.ssh文件夹(用哪个用户登录就复制到哪个用户下的.ssh文件夹下)

scp /root/.ssh/id_rsa.pub root@172.16.0.164:/root/.ssh/

2、安装公钥


登录到服务器cd /root/.ssh/

cat id_rsa.pub >> authorized_keys
 

方法二、使用ssh-copy-id命令复制(推荐)


一个命令直接就ok了
 
ssh-copy-id root@172.16.0.164
 

验证


不用输入密码则成功,否则失败
 
ssh root@172.16.0.164
 

注意事项


上面操作测试过是没有问题的


linux的版本和使用的用户不同会有差别的。


如果出现问题可以考虑以下两点


1、id_rsa.pub和authorized_keys的文件权限问题
 
chmod 600 authorized_keys
chmod 700 ~/.ssh
 
2、ssh的配置文件

vim /etc/ssh/sshd_config
#启用 RSA 认证,默认为yes
RSAAuthentication yes
启用公钥认证,默认为yes
PubkeyAuthentication yes
#root用户ssh登录
PermitRootLogin yes
 

(这些配置我都是没有修改的,我的是redhat7.2)

自定义写个简单shell脚本


在常用文件夹下创建个文件
 
touch expectssh.sh
 

添加下面内容,将用户 、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执行权限


chmod u+x expectssh.sh
 

3、执行命令
expect expectssh.sh
 

(1、必须使用 expect 命令执行2、你可以再包一层 使用bash解析去执行)

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:Centos7下nginx的安装与配置教程详解 下一篇:vps和服务器有什么特点呢?怎么区分VPS和服务器呢?

美国GIA服务器三二互联版权所有 WWW.222.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)