文章目录
- ssh登录
- 基本用法
- 配置文件
- 密钥登录
- 执行命令
- scp传文件
- 基本用法
- 使用scp配置其他服务器的vim和tmux
ssh登录
基本用法
远程登录服务器。
ssh user@hostname
其中:
- user:是用户名
- hostname:是IP地址或域名
第一次登录会提示:
The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.
ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
我们输入 yes ,然后回车,这样就会将该服务器的信息记录在 ~/.ssh/known_host 文件中。然后我们输入密码就可以登录到远程服务器中
默认登录端口号为22,如果想登录到某一特定的端口:
ssh user@hostname -p 22
配置文件
刚开始我们的ssh里面的配置都是初始化的,相当于是毛坯房,没有特殊的功能,比如tmux无法按照指定功能键分屏,vim无法显示行号等等;我们需要自己来手动配置文件。
创建文件: ~/.ssh/config(在。ssh里面用vim创建文件config)
然后在文件中输入:
Host myserver
HostName IP地址或域名
User 用户名
这样,我们在之后登录服务器时,直接输入 ssh myserver就可以登录服务器了。
密钥登录
如果我们的服务器比较多,每次连接一个服务器都需要输入密码会很浪费时间,我们可以来设置免密登录。
创建秘钥:ssh-keygen
然后一直回车即可,执行结束后,~/.ssh/目录下会多两个文件
- id_rsa:私钥
- id_rsa_pub:公钥
之后想免密登录哪个服务器,就将公钥传给哪个服务器即可。
例如:我们想免密登录 myserver 服务器,那么就将公钥中的内容,复制到 myserver 中的 ~/.ssh/authorized_keys (在.ssh里面 vim一个authorized_keys,将公钥id_rsa-pub里面的内容复制到这里面)文件里即可。(ssh里面没有.ssh文件夹的用mkdir创建一个,然后在.ssh里面vim一个authorized_keys)
也可以使用如下命令一键添加公钥:
ssh-copy-id myserver
执行命令
命令格式:
ssh user@hostname command
例如:
ssh user@hostname ls -a
也可以获取sdout:注意ssh中单引号’可以求$i的值,双引号"不可以,与shell语言不同(原因:我们之前知道,双引号回转义 $i 的值,所以传过去的命令是 echo i,而不是 echo $i,而单引号不会转义,所以传过去的就是 echo $i)
例如:
scp传文件
基本用法
命令格式:
scp source destination
将source路径下的文件复制到destination中
也可以一次复制多个文件
scp source1 source2 destination
复制文件夹:
scp -r ~/tmp myserver:/home/acs/
将本地家目录中的tmp文件夹复制到myserver服务器中的/home/acs/目录下。
scp -r ~/tmp myserver:homework/
将本地家目录中的tmp文件夹复制到myserver服务器中的~/homework/目录下。
scp -r myserver:homework .
将myserver服务器中的~/homework/文件夹复制到本地的当前路径下。
scp -P 22 source1 source2 destination
我们也可以只在指定端口下复制:
注意: scp中的 -r -P 等参数必须加在source和destination之前。
使用scp配置其他服务器的vim和tmux
命令格式:
scp ~/.vimrc ~/.tmux.conf myserver:
我们使用 scp 把 .vimrc 和 .tmux.conf 传到我们的 myserver 服务器上去就行了