ssh登录
username@hostname + password登录 (-p) 端口
取决于服务器要处于运行状态同时对p端口监听,才可以通过p端口请求登录
别名免密登录
别名登录:在./.ssh/
下生成config
,内容为:
Host 别名
HostName xxx
User xxx
Port # 如果是容器的端口登录,必须设置
之后就可以使用ssh 别名
登录,但此时还需要密码
想免密登录某个服务器,就要在这个服务器上的./.ssh/authorized_keys
文件中将本地的公钥复制进去,也可以利用一条命令一键完成,具体步骤如下:
(1) 创建公钥: ssh-keygen
在./.ssh/
文件夹下
(2) 复制公钥: 通过ssh-copy-id 别名
即可自动将公钥复制到别名对应的服务器上的authorized_keys内
ssh执行服务器命令
可以不登录服务器直接在ACTermal内输入命令,在服务器内执行并将结果输出在ACTermal中
即ssh 别名 命令
例如: ssh 别名 ls -a
例如: ssh myserver 'for ((i = 0; i < 10; i ++ )) do echo $i; done'
必须用单引号以字符串的形式将命令传送到服务器内,如果使用双引号,会在ACTermal中解析变量i,服务器中只会输入i的值
scp传输文件
scp (-r) (-P) source1 source2 别名:路径
本地传服务器scp (-r) (-P) 别名:路径 本地路径
服务器传本地
- scp端口为
-P
(大写)- 服务器端格式为
别名:地址
,地址初始已经定位到家目录下-r -P
最好写在前面- 如果想要配置tmux和vim环境,只需要将家目录下的
.vimrc
和.tmux.conf
文件通过scp传到服务器的家目录下即可
要注意确认某个用户的家目录下的.ssh
文件夹的所有者以及权限,可以通过公钥结尾处观看是否与当前用户匹配,如果所有者为root用户,则会一直生成root用户的公钥
ls -ld /home/pi/.ssh # 检查
sudo chown pi:pi /home/pi/.ssh # 更改所有
sudo chmod 700 /home/pi/.ssh # 更改权限
# 可能还需删除之前已经生成的公钥