相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述#yyds干货盘点#shell如何进行远程ssh相关的知识,希望能为你提供帮助。
1.ssh命令详解
1.1使用详解
ssh --help
man ssh
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
1.2参数解释
-l 指定登入用户
-p 设置端口号
-f 后台运行,并推荐加上 -n 参数
-n 将标准输入重定向到 /dev/null,防止读取标准输入。如果在后台运行ssh的话(-f选项),就需要这个选项。
-N 不执行远程命令,只做端口转发
-q 安静模式,忽略一切对话和错误提示
-T 禁用伪终端配置
-t (tty)为远程系统上的ssh进程分配一个伪tty(终端)。如果没有使用这个选项,当你在远程系统上运行某条命令的时候,ssh不会为该进程分配tty(终端)。相反,ssh将会把远端进程的标准输入和标准输出附加到ssh会话上去,这通常就是你所希望的(但并非总是如此)。这个选项将强制ssh在远端系统上分配tty,这样那些需要tty的程序就能够正常运行。
-v verbose)显示与连接和传送有关的调试信息。如果命令运行不太正常的话,这个选项就会非常有用。
2.简单的ssh
ssh -p $port $user@$p cmd
$port : ssh连接端口号
$user: ssh连接用户名
$ip:ssh连接的ip地址
cmd:远程服务器需要执行的操作
对于这种ssh,命令一般只有一条,如要手动鉴权,输入密钥,端口默认22
3.复杂的ssh
SHELL=`ssh root@192.168.33.25 < < remotessh
cd /home
rm -rf token.txt
touch token.txt
cd /home/1.8/keadm-v1.8.0-linux-amd64/keadm
./keadm gettoken > > /home/token.txt
cat /home/token.txt
exit
remotessh `
echo -e "========================打印token======================\\n"
echo $SHELL
3.1 shell详解【#yyds干货盘点#shell如何进行远程ssh】远程执行的内容在“< < remotessh” 至“ remotessh”之间,在远程机器上的操作就位于其中,注意的点:
- < < remotessh,ssh后直到遇到remotessh这样的内容结束,remotessh可以随便修改成其他形式。
- 重定向目的在于不显示远程的输出了
- 在结束前,加exit退出远程节点
3.2 免密登录设置免密
ssh-copy-id root@192.168.103.49
如果/root/.ssh/id_rsa下密钥key失效需要重新生成
ssh-keygen
清除免密
ssh-keygen -Rroot@192.168.103.49
推荐阅读
- #yyds干货盘点# 听说过python协程没(听说过 asyncio 库没?都在这一篇博客了)
- 三分钟教你看懂工字电感怎么识别大小
- 了解下C# 可空类型(Nullable)
- #yyds干货盘点# 大厂面试Java内功深厚()
- #yyds干货盘点#K8S 之 kubeadm 介绍
- 天津港焦炭码头牵手图扑软件,可视化解锁智慧焦炭港口
- At一次性任务设置#yyds干货盘点#
- #yyds干货盘点#海量数据下如何使用多线程的导出 Excel
- #yyds干货盘点#Python爬虫之Urllib用法合集