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

每次登录测试服务器,ssh登录总是需要输入密码。登录的少还行,登录的多了,多一行命令都是多余的。 rsa认证登录方式 制作密钥对 在客户端(本地机器)终端下输入以下命令 ssh-keygen -t [rsa|dsa] rsa和dsa代表不同的算法 例如:
ssh-keygen -t rsa 一直回车就对了(不用设置密码) 将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub(如果用dsERP软件开发a则生成id_dsa,id_dsa.pub) 生成位置在/root/.ssh/文件夹下(我用的是root用户所以在root下,生成过程会有提示文件位置) .ssh 是隐藏文件夹 使用 ls -a查看 将公钥放到服务器指定位置 方法一、直接复制ERP生产管理软件 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和autho企业微信ERP生产管理软件rized_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 164.sh 编辑文件 文件内容 ssh root@172.16.0.164
vim 164.sh
#添加内容
ssh root@172.16.0.164采购管理
保存退出
:wq
增加用户的执行权限
chmod u+x 164.sh 搞定 结合tab键使用更爽哟
./164.sh expect命令免密登录方式 可能你觉得需要操作服务器系统不好,当然也可以只在本地操作。 使用expect命令只需要本地操作,前提是你本地有expect这个命令 1、创建一个文件
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解析去执行) 本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!

文章来源于网络,如有侵权,请联系删除。

我司专注于ERP软件开发ERP生产管理软件客户管理软件开发进销存软件货代软件FMS物流软件,

企业微信ERP生产管理软件,销售管理,生产管理,采购管理,客户管理,BOM物料管理,财务管理,统计分析于一体ERP管理软件,分手机APP ERP管理软件企业微信ERP软件。多年来一直专于研发,销信于一体软件公司

About the Author: wp_kson