Skip to content

Latest commit

 

History

History
87 lines (50 loc) · 1.83 KB

ssh_config.md

File metadata and controls

87 lines (50 loc) · 1.83 KB

SSH 配置和使用

ssh client 配置

配置免密码登陆

cat ~/.ssh/id_rsa.pub | ssh -l root 192.168.1.100 "cat > ~/.ssh/authorized_keys"

使用agent配置免密

对于远程服务器(ip: 192.168.1.100)修改端口22为6622,不想每次都输入端口

首先启动ssh-agent来管理私钥(下面这种方式启动只针对当前shell)或在.bashrc里添加启动项

exec ssh-agent bash

添加私钥

ssh-add ~/.ssh/id_rsa

添加公钥到Host

ssh-copy-id -p 6622 192.168.1.100

此时可以通过ssh 192.168.1.100或ssh host100来连接

添加对指定服务器的配置(~/.ssh/config)

Host host100
	HostName 192.168.1.100
	IdentityFile ~/.ssh/id_rsa
	user root
	Port 6622

FAQ

  1. 新连接ssh服务器时会跳出如下提示,修改配置默认接受

    The authenticity of host can't be established. ECDSA key fingerprint is SHA256 Are you sure you want to continue connecting (yes/no)?

修改/etc/ssh/ssh_config添加如下内容

StrictHostKeyChecking accept-new

以后每次就能配合sshpass来连接

sshpass -p <youpass> ssh user@host
  1. git pull等操作时发现有如下错误

    kex_exchange_identification: Connection closed by remote host

此时用ssh -T 测试也是报同样的错误

ssh -T git@github.com

可以将github的连接端口从22改成443(修改~/.ssh/config)添加如下

Host github.com
	HostName ssh.github.com
	User git
	Port 443

再次使用ssh -T测试

ssh -T git@github.com
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
  1. 新安装好linux发现sshd启动不了(Failed to start OpenBSD Secure Shell server)

使用sshd -T查看报什么错误

sshd: no hotskeys available

添加key

ssh-keygen -A

SSH server 配置

允许root用户登入(/etc/ssh/sshd_config)

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes