SSH使用记录
日常中使用经常连接服务器,有的时候还需要使用跳板机和端口转发,于是简单记录一下自己使用 ssh 的经验。 基础配置 ssh 的默认配置文件在 Home 目录下的 .ssh 文件夹中,使用ssh-keygen -C "<描述内容>"会在这个文件夹中生成id_rsa和id_rsa.pub文件。如果是复制过来的密钥和公钥文件,需要确保其权限为仅当前用户可读可写(chmod 600),如果其他用户有读写权限则使用 ssh 连接服务器时会报错。将公钥复制到要连接的服务器的指定用户的~/.ssh文件夹下的authorized_keys文件中,就可以免密登录。 如果需要关闭服务器的密码登录权限,则需要在/etc/ssh/sshd_config中设置PasswordAuthentication no禁用密码登录。 注意:你应该先把公钥复制到 authorized_keys 中,并且测试过了可以免密登录,再禁用密码登录。 命令行使用 常用的命令行命令有: # 连接到指定服务器,username是登录用户名, # hostname可以是域名和IP,可以使用-p指定端口,默认为22 ssh username@hostname # 在本机指定端口开启代理,相当于一个socks代理 ssh -TND <端口> username@hostname # 发送到指定端口的数据都会经过hostname # 所在的服务器转发到指定远程主机的对应端口 ssh -TNL <本地端口>:<远程主机ip>:<远程端口> username@hostname # 例子,发送到本地8001端口的数据都会经过10.10.10.10转发,发送到10.10.10.10所在网络环境下的192.168.0.3:80 ssh -TNL 8001:192.168.0.3:8006 [email protected] # 使用跳板机 # 假设你在host1 ... hostn都配置了公钥免密登录,你可以经过host1 跳转到 host2 ... 链式跳转连接到 hostn ssh -J user1@host1 user2@host2 ... usern@hostn 使用 ssh 配置文件 配置文件是.ssh文件夹内的config文件,下面是一个例子: # 在命令行使用ssh jump相当于 # 使用ssh user1@10....