cat ~/.ssh/id_rsa.pub | ssh -l root 192.168.1.100 "cat > ~/.ssh/authorized_keys"
对于远程服务器(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
-
新连接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
-
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.
- 新安装好linux发现sshd启动不了(Failed to start OpenBSD Secure Shell server)
使用sshd -T查看报什么错误
sshd: no hotskeys available
添加key
ssh-keygen -A
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes