ssh 可以说是最常用的一个远程登陆服务器进行控制的软件了,总结一下。
一般的Linux发行版都自带了ssh客户端,如果需要安装服务端的话,执行

1
$ sudo apt-get install openssh-server

生成公私密钥

  • 本机
    $ ssh-keygen
  • 指定
    $ ssh-keygen -t rsa -C "xxx@xx.com"

无需密码登陆服务器

将公钥(一般位于~/.ssh/id_rsa.pub)内容,存放到远程服务器指定账户的Home目录下面的~/.ssh/authorized_keys中,如果没有authorized_keys文件的话就新键一个。
在这里有一个很方便的命令可以直接使用:
$ ssh-copy-id 服务器用户名@域名或ip
下次登陆服务器就无需再次输入密码了,登陆命令:
$ ssh username@addr

快速连接

通过config配置文件,可无需每次都输入远程用户名和地址即可进行连接。
~/.ssh下新建config文件,编辑添加内容如下:

1
2
3
4
Host test
HostName xxx.xxx.xxx.xxx(远程服务器ip)
User root(登陆远程的用户名)
Port 22(登陆的端口)

之后连接直接使用:$ ssh test即可

远程与本地传输文件

通过scp命令进行本地与远程之间的数据传递.

  • 从远程主机拷贝到本地
    $ scp 远程user@addr:文件路径(默认用户home目录) 本地路径(同上)

  • 将本地文件拷贝到远程主机
    $ scp 本地文件路径 远程user@addr:文件路径(默认用户home目录)

  • 拷贝目录(递归)
    $ scp -r