SSH筆記
ssh Agent
eval $(ssh-agent)
添加 key
ssh-add .ssh/id_key
檢視 agent 目前已添加的 key
ssh-add -L
ssh_config
關於這項的配置可以參見 man ssh_config
,在~/.ssh/config
設定以下內容
host example
Port 22
Hostname example.com
IdentityFile ~/.ssh/id_example
輸入指令ssh user@example
將會同等於ssh user@example.com
且讀取私鑰檔案。
ProxyCommand
透過A主機連上B主機
host hostA
Port 22
Hostname example.com
host hostB
Port 22
Hostname 192.168.1.1
ProxyCommand ssh -qW %h:%p hostA
IdentityFile ~/.ssh/id_1
%h
主機名%p
端口號-q
安靜模式-W hostname:port
轉發IdentityFile
放在config的電腦上gateway
為ProxyCommand
的hostA
直接透過指令轉發
ssh -o ProxyCommand="ssh -qW hostA" hostB
連上hostB
ssh hostB
其他常用指令
scp
scp source target
sshfs
sshfs user@host:dir mountpoint
Socks5 代理
如果要透過 ssh server 端進行代理
ssh -D 1337 -q -C -N domain
如果要使 ssh clinet 端作為代理
如果要將 sshd server 的流量透過 client 打出去就採用這個
ssh -R 1337 domain
之後我們可以複製 proxychains 的檔案配置到 localhost:1337
socks5 127.0.0.1 1337
之後啟用 proxychins
proxychains -f ./proxychains.conf zsh
檢查 ip 是否正確
proxychains curl ifconfig.me/ip
Local Forwarding
如果 ssh client 只能連上 example.com
的 ssh,但在該 sshd server 裡面有其他外網連不上的服務監聽 8000 port
,可以透過以下指令綁定 5000 port
進行 local forwarding。之後我們可以從 ssh client 端綁定一個 5000 端口連上此服務。
ssh -L 5000:localhost:8000 example.com
問題
Remote Host Identification Has Changed
移除known_hosts
裡面的主機,這裡假設主機為127.0.0.1
ssh-keygen -R "127.0.0.1"
Linux Network SSH Socks5