|
ssh登录
作用
- 在开发时,通常会用Terminal通过ssh登录到每个服务器里,打开服务器终端,以进行开发,通常来说,一个服务器会给出如下的几个信息:
登录服务器
- 基本格式:ssh user@hostname
- user:用户名
- hostname:IP地址/域名
- 如果是第一次登录的时候,会有提示,输入yes,输入密码,即可登录,密码输入时不显示。
- 输入exit/ctrl+d/logout即可退出
- 当输入yes时,会将服务器信息存入ssh文件夹中的known_hosts文件(~/.ssh/known_hosts),再次登录就无需验证Yes
修改端口号
- 默认端口号为22,修改端口号的基本命令格式为:ssh user@hostname -p 22
配置文件
- 通过配置文件的方式给服务器账号配置别名,用短字符串替代长字符串
- # 在根目录下有
- ~/.ssh/config
- # 没有的话可以创建一个名为config的文件
- # 在其中编写:
- Host 别名
- HostName IP地址/域名
- User 用户名
- port 默认情况下,如果不写即为22
- # 当有多个服务器时,可以配置多个服务器账号,格式如下:
- Host myserver1
- ...
- Host myserver2
- ...
- # 之后再使用服务器时,可以直接使用别名myserver1、myserver2
复制代码 免密登录
- # 创建密钥
- ssh-keygen
- # 一直回车后,在~/.ssh中出现了两个文件
- id_rsa 密钥
- id_rsa.pub 公钥
- # 密钥与公钥是唯一配对的一对,生成之后,想要免密登录到哪个服务器,即将公钥传到哪个服务器即可
- cat id_rsa.pub
- ctrl + insert
- # 登录到想要免密登录的服务器,在其中创建~/.ssh文件夹,创建新文件authorized_keys,将内容复制进去即可
- mkdir ~/.ssh
- cd ~/.ssh
- vim authorized_keys
- shift + insert
- # 当有多个密钥时需用空格隔开
- # 也可以使用如下命令一键添加公钥
- ssh-copy-id 服务器名称
复制代码 执行命令
- 当实现自动化运维时,需要执行一些基本的操作,通过使用执行命令,来让服务器执行一些基本的自动化格式命令
- # 基本格式
- ssh user@hostname command
- ssh user@hostname ls -a
- # 同样的,执行命令可以执行一个for循环,ssh会将执行命令的标准输出重定向到当前终端中
- # 单引号中的$i可以求值,会被解析
- ssh myserver 'for ((i = 0; i < 10; i ++ )) do echo $i; done'
- # 双引号中的$i不可以求值,不会被解析
- ssh myserver "for ((i = 0; i < 10; i ++ )) do echo $i; done"
- a=1
- # 双引号是在本地服务器进行转义了,所以传过去命令不是echo $a,而是echo 1
- ssh myserver "echo $a"
- # 单引号传过去的是echo $a
- ssh myserver 'echo $a'
- ssh myserver echo $a ?
复制代码 scp传文件
- # 基本命令:将source路径下的文件复制到destination中
- scp source destination
- # 同样的一次可以复制多个文件
- scp source1 source2 destination
复制代码 复制文件夹
- 基本命令:scp -r
- -r 一定要放在source与destination前面
- 对于某一个位置的地址,一般格式为:myserver: 后面接的是相对于服务器账号的家目录,可以是绝对路径/相对路径
scp -r ~/tmp myserver:/home/acs/
服务器与服务器之间进行文件传输
- 一般模式为:服务器1->本地服务器->服务器2
- 两个服务器之间也可以进行直接传输,但是需要相互之间完整授权
scp复制的两个方向
- # 去:从本地家目录下的tmp文件夹复制到myserver服务器的/home/acs文件夹下
- scp -r ~/tmp myserver:/home/acs
- # 来:将服务器的文件夹复制到本地的dir文件夹
- scp -r myserver:/var/lib/locales/supported.d ./dir
复制代码 scp指定服务器端口号
- # P大写,且P放在source和destination之前
- scp -P xx source destination
复制代码 使用scp配置一个毛坯服务器
- # 配置一个毛坯服务器,需要装饰的东西,也就是vim与tmux
- # 将.vimrc与.tmux.conf复制到服务器对应的目录下
- # 位置在初始的Terminal中输入ls -a即可找到
- ssh .vimrc .tmux.conf myserver
- scp ~/.vimrc ~/.tmux.conf myserver:
- # tmux如果不生效则重新加载
- tmux list-sessions
- tmux kill-server
- tmux
- tmux source ~/.tmux.conf
复制代码 习题
来源:https://www.cnblogs.com/han-fei/p/17918302.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|