ssh命令

ssh登录

文件

默认登录端口号为22。如果想登录某一特定端口:

p后面加上特定端口,在acwing上只能用22,其他的登不上去

ssh user@hostname -p 22

免密登录

想免密码登录哪个服务器,就将公钥传给哪个服务器即可。

例如,想免密登录myserver服务器。则将公钥中的内容,复制到myserver中的~/.ssh/authorized_keys文件里即可。如果没有 .ssh文件夹就创建一个。

执行命令

ssh是可以自动化执行命令的,它会自动登录上服务器,执行然后退出

ssh myserver ‘for ((i = 0; i < 10; i ++ )) do echo $i; done’

要注意,命令中单引号i会被解析,从而输出
ssh命令_第1张图片
而双引号不会解析,输出
ssh命令_第2张图片

ssh会将在服务器端执行的命令的标准输出,重定向到我们当前的终端里面

scp传文件

基本用法

命令格式:

scp source destination

将source路径下的文件复制到destination中

一次复制多个文件:

scp source1 source2 destination

将souce1 和 souce2中的文件,全部都复制到destination里面

也可以复制文件夹,加上-r就可以了,-r一定要放在文件路径的前面,放在后面会有错误

复制文件夹:

scp -r ~/tmp myserver:/home/acs/

本地文件地址很容易看,这里给的是家目录路径,可以用绝对路径,也可以用相对路径

服务器端的地址,前面是服务器的地址或者它的别名,然后用:隔开服务器的名字和服务器内部的地址,后面接的当然就是地址,这个地址是相对于服务器账号的家目录来说的,可以是绝对地址,如果不是以/开头就不是绝对地址,那就表示家目录。如,下面那个就是家目录下的homework

将本地家目录中的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:

复制到云端如果有同名文件的话,会覆盖掉

tmux 和 vim 配置文件一般很难搞,所以直接用acwing的就可以,复制粘贴的时间,直接在开头点一下,然后按住shift键,在结尾点一下

你可能感兴趣的:(#,Linux,ssh,服务器,linux)