linux系统ssh基本用法

linux系统ssh基本用法

2023年7月10日发(作者:)

linux系统ssh基本⽤法ssh协议1. ssh的基本⽤法## 连接远程登录ssh [选项] [⽤户名@]主机名或IP

例:m01连接172.16.1.41的root⽤户[root@m01 ~]# ssh root@172.16.1.41 -p 22ssh的端⼝是22 -p :指定端⼝#远程执⾏命令在172.16.1.41上⾯执⾏ls命令[root@nfs ~]# ssh root@172.16.1.41 ls# 以上两种都需要知道密码2. ssh的免密登录##1. ssh-keygen命令ssh-keygen命令是⽤来产⽣⼀对公共/私⼈⾝份验证密钥的。这对⾝份验证密钥允许⼀个⽤户在不提供密码的情况下连接到⼀个远程系统上。每个⽤户必须单独地产⽣密钥。选项 -t :指定所创建密钥的类型,在第⼀版的协议中可能的值是rsa1,⽽在第⼆版的协议中可能的值为dsa,ecdsa或rsa# 执⾏ssh-keygen命令[root@m01 ~]# ssh-keygenssh-keygen命令会在~/.ssh⽬录(⽤户的家⽬录中的.ssh⽬录)中⽣成id_rsa和id_两个密钥⽂件# 将密钥⽂件id_复制到远程ip的服务器实现免密登录[root@m01 ~]# ssh-copy-id -i /root/.ssh/id_ root@172.16.1.31ssh-copy-id 命令加-i 选项将m01的id_密钥发送到172.16.1.31,这样以后就可以免密登录了# ssh 免密登录[root@m01 ~]# ssh root@172.16.1.41Last login: Mon May 11 16:23:35 2020 from 172.16.1.61[root@backup ~]#

## 2.编辑配置⽂件放⼊跳板机密钥# 创建/root/.ssh⽬录[root@nfs ~]# mkdir /root/.ssh# ⽬录授权700权限[root@nfs ~]# chmod 700 /root/.ssh# 编辑配置⽂件[root@nfs ~]# vim /root/.ssh/authorized_keys#查看配置⽂件内容有没有空⾏[root@nfs ~]# cat -A /root/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWiiQkJhlODst3y4332otd0YwQSrIAmDq0opz5cRr1QNofvbgWBoK9D20opkAGu8Fqr5LzqoALjbX73x6trZgPhWh7i0RO2qYAjxiZe7bX4HppqjCO3KlP9BnNTa0Uc0LIgko5aE2ips9nHyQHVl8xvc1g# 授权配置⽂件600权限[root@nfs ~]# chmod 600 /root/.ssh/authorized_keys

# 使⽤m01远程连接nfs服务器[root@m01 .ssh]# ssh 172.16.1.31Last login: Tue May 12 03:59:14 2020 from 10.0.0.1抓包⼯具## 下载⽹址/# 使⽤telnet协议登录telnet不能⽤root⽤户登录,必须使⽤普通⽤户# 下载telnet[root@web01 ~]# yum install -y telnet-server# 启动服务[root@web01 ~]# systemctl start # 查看端⼝[root@web01 ~]# netstat -lntup|grep 23tcp6 0 0 :::23 :::* LISTEN 1/systemd # 创建普通⽤户[root@web01 ~]# useradd wzh# 给密码[root@web01 ~]# passwd wzhChanging password for user password:

BAD PASSWORD: The password is a palindromeRetype new password:

passwd: all authentication tokens updated successfully.# 连接# 打开wireshark,找到NAT8的⽹卡,输⼊telnet,然后⿏标右键追踪流ssh⽣产场景案例写脚本跳板机连接其他服务器# 此处复制粘贴曾⽼师⽂档脚本内容lb02=172.16.1.6web01=172.16.1.7web02=172.16.1.8web03=172.16.1.9nfs=172.16.1.31backup=172.16.1.41db01=172.16.1.51m01=172.16.1.61zabbix=172.16.1.71cat <

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_ public key has been saved in /root/.ssh/id_ key fingerprint is:SHA256:/EqWyYEHa6Hopk1k3UwCb1wP11iM6nRev6SPGy+uvTU root@backupThe key's randomart image is:+---[RSA 2048]----+| . o .*. || + . +o o || = +.. || + *o*. . || + oo*oS. . || + ..o.= o || + * ooE. || = o oo=.. ||. . oo*=o |+----[SHA256]-----+#使⽤ssh-copy-id 命令把密钥传送给其他服务器[root@m01 .ssh]# ssh-copy-id -i /root/.ssh/id_ root@172.16.1.8# 连接[root@m01 .ssh]# ssh 172.16.1.8Last login: Tue May 12 04:02:29 2020 from 172.16.1.61[root@web02 ~]#

# 连接其他服务器和上⾯命令相同,改⼀下后⾯的ip即可3.1尝试写⼀个跳板机的脚本# 复制曾⽼师⽂档lb02=172.16.1.6web01=172.16.1.7web02=172.16.1.8web03=172.16.1.9nfs=172.16.1.31backup=172.16.1.41db01=172.16.1.51m01=172.16.1.61zabbix=172.16.1.71cat <

反向解析:把IP解析成域名叫做反向解析,正向解析把域名解析成IP# 改完之后重启服务[root@m01 ~]# systemctl restart sshd## 免交互1.1 下载安装包[root@nfs ~]# yum install -y expect# 编辑脚本代替⼿敲,脚本复制曾⽼师⽂档#!/usr/bin/expectset ip 10.0.0.51set pass 123456set timeout 30spawn ssh root@$ipexpect { "(yes/no)" {send "yesr"; exp_continue} "password:" {send "$passr"}}expect "root@*" {send "df -hr"}expect "root@*" {send "exitr"}expect eof# 下载安装包[root@nfs ~]# yum install -y sshpass

#连接 -p:定密码。sricthostkeychecking=no:取消认证sshpass -p 1 ssh -o stricthostkeychecking=no root@10.0.0.41#写脚本批量免密连接[root@nfs ~]# vim #!/bin/bashfor ip in 31 41 7 8 61 ;do sshpass -p 1 ssh-copy-id -i ~/.ssh/id_ -o stricthostkeychecking=no root@172.16.1.$ipdone

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688987431a191965.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信