设置Linux中的ssh无密码登陆

设置Linux中的ssh无密码登陆

1.mkdir ~/.ssh;cd ~/.ssh;ssh-keygen -t dsa -P '' -f id_dsa



注:如果没有authorized_keys文件则自己手动新建:touch authorized_keys

通过以上命令生成id_dsa和id_dsa.pub两个文件,前面一个为私钥,后面一个为公钥,当A主机无密码登陆B主机时,A主机会向B主机发送自己的公钥(id_dsa.pub),如果在B主机的.ssh目录下的authorized_keys文件中有A主机的公钥,就允许A主机登陆,否则拒绝。因此只要把A主机的id_dsa.pub里面的内容copy到B主机的autorized_keys里面就可以了,know_hosts可以看作是其他主机无密码登陆到本主机的记录。

注意:

(1).如果要ssh无密码登陆本机,则需要把本机中的.id_dsa.pub内容copy到本机中的authorized_keys文件中

(2).设置ssh无密码登陆时,最好把.ssh文件夹以及该文件夹下的所有文件设置为rwx------(即700)权限,如果你在无密码登陆过程中发生失败,则需要检查文件权限问题。

chmod 700 -vR ~/.ssh


如果有同学觉得上述步骤麻烦,可以将一下脚步拷贝至本机,然后执行就ok了。

mkdir ~/.ssh;cd ~/.ssh;ssh-keygen -t dsa -P '' -f id_dsa;touch authorized_keys;more id_dsa.pub >> authorized_keys;chmod 700 -vR ~/.ssh

eg:

A主机通过ssh方式登录到B主机:

ssh 用户名@目的主机地址

Eg:ssh chenpeng@192.168.8.21

A主机的用户user1同样以user1身份登陆到B主机时(其实是巧合,A主机的登陆用户和B主机的用户名称相同),可以简写成:ssh 主机名

Eg:ssh chenpeng@192.168.8.21 <==>ssh bigdata-namenode

注:bigdata-namenode为主机名,所对应的ip地址为:192.168.8.21

主机名和主机ip地址的映射关系在/etc/hosts文件中设置

注,在调用脚本时,必须写全该脚本所在的详细路径

A主机通过ssh方式登录到B主机后执行相应的命令或者脚本:

ssh 用户名@目的主机地址 xxxxx

注意:要执行的命令用单引号’  ’扩起来,引号扩起来的命令要和前面的内容写在一行,不能换行。

Eg:

#登陆到192.168.8.21主机上执行如下操作:启动rediswebserver

#启动redis数据库

ssh chenpeng@192.168.8.21 '/usr/local/redis/redis-cli shutdown;/usr/local/redis/redis-server /etc/redis/redis.conf'

 

#tomcat的关闭和启动不能放在一起,要分开ssh登陆执行,否则会报错

ssh chenpeng@192.168.8.21 '/opt/apache-tomcat-6.0.37/bin/shutdown.sh'

ssh chenpeng@192.168.8.21 '/opt/apache-tomcat-6.0.37/bin/startup.sh'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值