两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
public:it:ssh [2021/09/01 09:43] – [通过代理进行 ssh 访问] oakfire | public:it:ssh [2023/05/25 14:42] (当前版本) – [Ubuntu] oakfire |
---|
* 重启 ''sshd'' 服务 | * 重启 ''sshd'' 服务 |
| |
| * 欢迎词:动态生成后位于''cat /run/motd.dynamic''. |
| * 彩色标题词:可先安装''sudo apt install figlet toilet'',再编辑''/etc/update-motd.d/00-header'', 添加 ''toilet -f standard -F metal oakfire''。 |
| ===== Tips ===== |
| * 如果 openssh 版本[[https://www.openssh.com/txt/release-8.8|不低于 8.8]], 有可能[[https://www.openssh.com/txt/release-8.2|禁用 RSA-1 算法]]导致 key 失效,详见 [[https://confluence.atlassian.com/bitbucketserverkb/ssh-rsa-key-rejected-with-message-no-mutual-signature-algorithm-1026057701.html| 此说明]], 在参数添加 ''-vvvv'' 开启日志的ssh 中可见 <code>debug1: send_pubkey_test: no mutual signature algorithm</code>, 解决办法是用 ed25519 来生成公私钥 <code bash>ssh-keygen -t ed25519 -C "your_email@example.com"</code> |
===== Using SSH agent forwarding ===== | ===== Using SSH agent forwarding ===== |
* 远程使用 SSH 时,直接使用本地的 key 的方法: [[https://developer.github.com/guides/using-ssh-agent-forwarding/|using ssh agent forwarding]] | * 远程使用 SSH 时,直接使用本地的 key 的方法: [[https://developer.github.com/guides/using-ssh-agent-forwarding/|using ssh agent forwarding]] |
Host <host> | Host <host> |
ProxyCommand connect -S 127.0.0.1:1080 %h %p | ProxyCommand connect -S 127.0.0.1:1080 %h %p |
</code> 其中 ''<host>'' 可为 ''*'' 表示不限目标ip, 或者可设置为特定的 ip 或域名,比如 ''github.com''; 第二行的''127.0.0.1:1080'' 可改为实际代理地址; ''connect''为git mingw64自带, 所以在git bash 里可用。如果没有则需要自行下载 connect.exe 放到 PATH 路径。 | </code> 其中 ''<host>'' 可为 ''*'' 表示不限目标ip, 或者可设置为特定的 ip 或域名,比如 ''github.com''; 第二行的''127.0.0.1:1080'' 可改为实际代理地址; ''connect''为git mingw64自带, 所以在git bash 里可用, 如果没有则需要自行下载 connect.exe 放到 PATH 路径。 |
* Linux:编辑 ''~/.ssh/config'', 添加<code> | * Linux:编辑 ''~/.ssh/config'', 添加<code> |
Host <host> | Host <host> |
</code> | </code> |
* 如果只是单次使用,可直接在执行命令时添加: ''ssh <user>@<host> -o "ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p"'' | * 如果只是单次使用,可直接在执行命令时添加: ''ssh <user>@<host> -o "ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p"'' |
| ===== Generate RSA key ===== |
| <code bash> |
| # 生成 RSA 私钥(传统格式的) |
| openssl genrsa -out rsa_private_key.pem 1024 |
| |
| # 生成 RSA 公钥 |
| openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem |
| |
| # 将传统格式的私钥转换成 PKCS#8 格式的 |
| openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt |
| </code> |