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
4Host test
HostName xxx.xxx.xxx.xxx(远程服务器ip)
User root(登陆远程的用户名)
Port 22(登陆的端口)
之后连接直接使用:$ ssh test
即可
远程与本地传输文件
通过scp
命令进行本地与远程之间的数据传递.
从远程主机拷贝到本地
$ scp 远程user@addr:文件路径(默认用户home目录) 本地路径(同上)
将本地文件拷贝到远程主机
$ scp 本地文件路径 远程user@addr:文件路径(默认用户home目录)
拷贝目录(递归)
$ scp -r