标签:bin 服务 ip ssh 远程管理 root id dsa
1 SSH免密码登陆部署方式
第一个步骤: 在客户端创建密钥对信息(管理主机10.0.0.61) [root@m01 ~]# ssh-keygen -t dsa [root@m01 ~]# ll ~/.ssh/ total 8 -rw------- 1 root root 668 Mar 4 10:36 id_dsa -rw-r--r-- 1 root root 598 Mar 4 10:36 id_dsa.pub 第二步: 分发公钥信息 [root@m01 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@172.16.1.312. 如何编写SSH配置文件
vim /etc/ssh/sshd_config #Port 22 --- 修改服务端口号参数 #ListenAddress 0.0.0.0 --- 修改监听地址(指定的监听地址可以建立连接) 0.0.0.0监听本地主机网卡有的所有地址, 建议只监听内网网卡地址 !!!PS: 服务只能监听本地网卡上有的地址 #PermitEmptyPasswords no --- 是否允许空密码登陆连接,默认不允许 #PermitRootLogin yes --- 是否允许root用户远程登陆,默认允许 连接优化:GSSAPIAuthentication on --- 特殊的认证需要关闭(提升远程连接效率) #UseDNS on --- 开启了代表具有DNS反向解析功能 DNS正向解析: 已知域名信息 --- IP地址信息 DNS反向解析: 已知IP信息 --- 获得域名信息 (需要以来hosts文件配置,如果文件没有配置,反向解析过程会影响远程连接效率) 07. 如何批量分发公钥/如何实现批量验证 问题一: 如何批量分发公钥 基于脚本循环 利用脚本循环操作 mkdir /server/scripts -p vim fenfa.sh --- 初始分发公钥脚本 #!/bin/bash for ip in `cat /server/scripts/ip_list.txt` do ssh-copy-id -i /root/.ssh/id_dsa.pub root@$ip done 问题一: 分发时需要输入密码信息 需要安装:yum install -y sshpass sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub root@172.16.1.31 问题二: 需要进行确认 >~/.ssh/known_hosts 为了实现确认效果,需要清楚客户端known_hosts文件 sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub root@172.16.1.31 -o StrictHostKeyChecking=no 完善脚本信息: [root@m01 scripts]# cat fenfa_pub.sh #!/bin/bash source /etc/init.d/functions for ip in `cat /server/scripts/ip_list.txt` do echo "================ start fenfa to $ip ==================" sshpass -p123456 ssh-copy-id -i ~/.ssh/id_dsa.pub root@$ip -o StrictHostKeyChecking=no &>/dev/null if [ $? -ne 0 ] then action "host $ip fenfa fail !" /bin/false else action "host $ip fenfa success !" /bin/true fi echo "================ end fenfa ==================" echo "" done 分发测试检查脚本: #!/bin/bash source /etc/init.d/functions for ip in `cat /server/scripts/ip_list.txt` do echo "================ start check to $ip ==================" ssh root@$ip $1 if [ $? -ne 0 ] then action "host $ip check fail !" /bin/false else action "host $ip check success !" /bin/true fi echo "" done 完善: [root@m01 scripts]# vim fenfa_check.sh #!/bin/bash source /etc/init.d/functions if [ $# -ne 1 ] then echo "pls input one commond" exit fi for ip in `cat /server/scripts/ip_list.txt` do echo "================ start check to $ip ==================" ssh root@$ip $1 if [ $? -ne 0 ] then action "host $ip check fail !" /bin/false else action "host $ip check success !" /bin/true fi echo "" done sh fenfa_check.sh hostname 问题二: 如何SSH服务端口号变更如何进行分发 基于特殊参数 ssh-copy-id -i ~/.ssh/id_dsa.pub root@172.16.1.31 -p52113
标签:bin,服务,ip,ssh,远程管理,root,id,dsa 来源: https://www.cnblogs.com/bidad/p/11993510.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。