Skip to content

Latest commit

 

History

History
103 lines (75 loc) · 2.04 KB

ssh.md

File metadata and controls

103 lines (75 loc) · 2.04 KB

Secure Shell (SSH)

安装

pacman -S openssh

配置服务端

nano /etc/ssh/sshd_config
systemctl restart sshd

ClientAliveInterval=60 服务器隔多少秒检测一次客户端是否响应, 默认是0,不发送
ClientAliveCountMax=10 服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开

配置客户端

nano ~/.ssh/config
chmod 600 ~/.ssh/config
### default for all ##
Host *
     ForwardAgent no
     ForwardX11 no
     ForwardX11Trusted yes
     User nixcraft
     Port 22
     Protocol 2
     ServerAliveInterval 60
     ServerAliveCountMax 30

## override as per host ##
Host server1
     HostName server1.cyberciti.biz
     User nixcraft
     Port 4242
     IdentityFile /nfs/shared/users/nixcraft/keys/server1/id_rsa

登录远程服务器

免密码登录其他的 SSH 服务器,ssh-copy-id 会将你的公钥添加到远程主机上的 ~/.ssh/authorized_keys 文件中

ssh-keygen
ssh-copy-id [email protected]

服务器上需确保以下文件目录的访问权限

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

上传文件到远程主机

scp SourceFile user@host:directory/TargetFile

从远程主机下载文件

scp user@host:directory/SourceFile TargetFile
scp -r user@host:directory/SourceFolder TargetFolder
scp -P 2222 user@host:directory/SourceFile TargetFile

在远程主机上运行命令

ssh user@host 'ps ax | grep [h]ttpd'

本地端口转发(Local forwarding)

ssh -L <local-port-to-listen>:<target-host>:<target-port> <gateway>

通过 gateway 中转,连接本机的所监听的端口,相当于连上了目标机对应的端口。

远程端口转发

ssh -R <remote-port-to-listen>:<target-host>:<target-port> <remote-host>

经由远程机中转,访问远程机所监听的端口,相当于连上了目标机对应的端口,可以将目标机指定为本机。

端口转发需要在/etc/ssh/sshd_config 中设置 GatewayPorts yes。